Whitespace visualizer
Whitespace that you cannot see breaks code, data files and comparisons. Paste a text and every space becomes a dot, every tab an arrow and every line break a pilcrow, while unusual spaces and invisible characters show their code point.
Runs in your browser: nothing you enter is sent anywhere.
How to use it
- Paste or type your text.
- Read the result: each kind of whitespace has its own mark. Turn a group of marks off if it distracts you.
- Check the counts under the result.
How it works
The text is read one character at a time. Plain spaces, tabs and line breaks get the marks listed in the FAQ. A Windows line break (CR followed by LF) is counted as one line break. Characters from a fixed list of special spaces, invisible characters and controls are replaced by their U+ code in marks, and the no-break space has its own mark.
Worked example
“a b c” followed by a line break and “d” shows as “a·b··c¶” on the first line and “d” on the second. Two dots in a row reveal the double space between b and c. The summary reports 3 spaces and 1 line break.
Tips
Look for dots at the end of a line (trailing spaces), a tab arrow where you expected spaces, and ⟦U+200B⟧ in text copied from web pages. Mixed tabs and spaces in the same indentation are a common cause of errors in Python and YAML.
Frequently asked questions
What do the marks mean?
A middle dot · is a space, → is a tab, ¶ is a line feed, ␍␊ is a Windows line break (CR LF) and ␍ alone is a carriage return. ⍽ is a no-break space (U+00A0). Any other special space, invisible character or control character appears as ⟦U+XXXX⟧ with its code point.
Which hidden characters are detected?
Other Unicode spaces (U+1680, U+2000 to U+200A, U+202F, U+205F, U+3000), zero-width and directional marks (U+200B to U+200F, U+202A to U+202E, U+2060 to U+2064, U+2066 to U+2069), the soft hyphen, the byte order mark U+FEFF, line and paragraph separators, and control characters such as U+0000 and U+007F. It is a fixed list, not the whole Unicode set.
Why are tabs shown as an arrow and a tab?
The arrow marks the tab and the tab itself is kept, so that the columns still line up in the result.
How do I remove what I find?
Use the text cleaner to delete invisible characters, fix special spaces and trim trailing spaces. This tool only shows them and does not change your text.