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.

Spaces: 3, tabs: 1, line breaks: 2, no-break spaces: 1, other hidden characters: 1.

Runs in your browser: nothing you enter is sent anywhere.

How to use it

  1. Paste or type your text.
  2. Read the result: each kind of whitespace has its own mark. Turn a group of marks off if it distracts you.
  3. 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.

More in Text

All tools in this category: Text ·Updated November 3, 2026

Privacy choices

Google Analytics shows us which tools are used and whether they work. It may set cookies. Your choice is kept in this browser.