BYTETOOLS

Whitespace Visualizer

Draw every space, tab and line break as a visible glyph, and highlight non-breaking spaces, exotic spaces and zero-width characters with a per-type tally.

Visualised text

Paste text above to see every space, tab and line break drawn as a visible glyph, with unusual spaces and invisible characters highlighted.

What is the Whitespace Visualizer?

Whitespace bugs are invisible by definition. Text copied from a PDF, a spreadsheet or a web page routinely carries non-breaking spaces (U+00A0), narrow no-break spaces (U+202F), ideographic spaces (U+3000) and zero-width characters that look like nothing but break your search, your CSV import or your string comparison.

  • Draws spaces, tabs, carriage returns and line feeds as visible glyphs
  • Highlights NBSP, narrow NBSP, ideographic, figure, thin and hair spaces
  • Flags zero-width characters and the byte order mark in red
  • Per-type tally with the exact Unicode code point of each character
  • One-click cleanup that normalises exotic spaces to plain U+0020
  • Option to keep zero-width characters where they are linguistically needed

How to use the Whitespace Visualizer

  1. 1

    Paste the text you want to inspect into the box.

  2. 2

    Read the visualised output: · is a space, → a tab, ␍ a carriage return and ¶ a line feed.

  3. 3

    Check the tally table for every whitespace type found, with its Unicode code point and count.

  4. 4

    Decide whether to keep zero-width characters, then copy the cleaned text or press “Use the cleaned text as input”.

About the Whitespace Visualizer

Whitespace bugs are invisible by definition. Text copied from a PDF, a spreadsheet or a web page routinely carries non-breaking spaces (U+00A0), narrow no-break spaces (U+202F), ideographic spaces (U+3000) and zero-width characters that look like nothing but break your search, your CSV import or your string comparison.

This visualiser draws a space as ·, a tab as →, a carriage return as ␍ and a line feed as ¶, then highlights every unusual space in amber and every zero-width character in red. A tally table names each one with its Unicode code point and how many times it appears, so you can see exactly what is in your text before you clean it.

The cleanup pass turns every exotic space into a plain U+0020 and removes zero-width characters, with an option to keep them for Arabic and Indic text where they are meaningful. Everything runs locally in your browser and nothing is uploaded.

Frequently asked questions

How do I find hidden characters in my text?

Paste it here. Every whitespace character is drawn as a visible glyph and every unusual or invisible one is colour-coded, with a tally that names it and gives its Unicode code point.

What is a non-breaking space and why is it a problem?

A non-breaking space (U+00A0) stops text wrapping at that point, and word processors and web pages insert them automatically. It looks identical to a normal space but is a different character, so searches, comparisons and CSV parsers treat the two as unequal.

What are zero-width characters?

They are code points with no visual width at all, such as the zero width space U+200B, the zero width joiner U+200D and the byte order mark U+FEFF. They are legitimate in some scripts, but pasted into ordinary text they silently break string matching and validation.

Should I remove zero-width characters?

In Latin text, usually yes — they serve no purpose and cause bugs. In Arabic, Persian or Indic scripts they control letter joining and removing them changes how words render, which is why the tool lets you keep them.

Is my text uploaded to be analysed?

No. The whole analysis is JavaScript running in your browser, so your text never leaves your device and the tool keeps working offline.

Related tools