See spaces, tabs and hidden characters

Paste a text and see what you cannot normally see. Spaces become dots, tabs become arrows, line breaks get a pilcrow, and hidden characters show up as labelled tags.

  • Free
  • No sign-up
  • Runs in your browser
whitespace-visualizer
Your text with the hidden characters made visible

100% private — your text is analysed in your browser and never sent to any server.

How it works

Paste your text

Code, a data value, a list, an email or a paragraph that behaves strangely.

Look at the marks

Dots for spaces, arrows for tabs, ¶ for line breaks, tags for hidden characters.

Read the counts

See how many double spaces, trailing spaces and non-breaking spaces there are.

Why your text behaves strangely

Some of the most annoying problems with text come from characters you cannot see. A value that looks exactly like another but does not match in a lookup, a line that will not align, a code that is rejected by a form, a script that fails on a line that looks normal: the cause is often a space, a tab or an invisible character that is not the one you expected. Seeing them is the first step to fixing them, and this tool draws them for you.

How to read the display

  • A dot in the middle of a line is a normal space. Two or more dots in a row are a double or multiple space.
  • An arrow is a tab character, which can be as wide as several spaces.
  • A pilcrow (¶) marks the end of every line. A small mark before it shows the line uses a Windows-style break (carriage return plus line feed) rather than a Unix one.
  • A coloured tag such as NBSP, ZWSP or BOM is a special character: a non-breaking space, a zero-width space, a byte-order mark and others. Hover over it to see its Unicode code and full name.

The counters

Under the display you get totals for spaces, tabs, non-breaking spaces, line breaks and hidden characters, plus two checks that matter for code and data: how many lines end with spaces, which is invisible and often unwanted, and how many lines contain double spaces between words.

Typical culprits

A non-breaking space comes from a web page or a word processor and looks identical to a normal space, but a search or a comparison treats it as a different character. A zero-width space is inserted by some websites, editors and AI tools, and it can break a URL, a password or a command. A byte-order mark at the start of a file makes a script fail on its very first line. Trailing spaces cause noise in version control and stray differences when comparing text. Mixed tabs and spaces break the indentation in languages such as Python.

What it does not do

This page shows the characters and does not change your text. To remove them, use the invisible character detector, or the text cleaner. Some fonts and programs draw certain characters in their own way, and a few exotic marks may be shown as a code label instead of a name.

Frequently asked questions

How can I see spaces and tabs in a text?
Paste the text. Spaces appear as dots, tabs as arrows and line breaks as a pilcrow, so you can see exactly what is there.
How do I find a hidden character in my text?
Hidden characters are shown as coloured tags, such as ZWSP or NBSP. Hover over a tag to see its Unicode code and name.
What is a non-breaking space?
A space that looks like a normal one but stops a line from wrapping at that point. It is different from a regular space, so searches and comparisons can fail.
How do I know if a file uses Windows or Unix line breaks?
Windows breaks are shown with a carriage-return mark before the pilcrow. The counters also separate the two kinds.
Can I remove the hidden characters here?
This page only shows them. Use the invisible character detector or the text cleaner to remove them.
Is my text uploaded anywhere?
No. It is analysed in your browser.