Files

Invisible Character Finder

Finds the characters you cannot see, and gives each one a line and column.

Loading the tool…

Processing happens locally in your browser. What you paste or load is processed by this page and is not uploaded to a server. Nothing is stored unless you use a control that says it stores something, and you can clear anything this site has kept from the privacy page.

How to use this tool

  1. Paste both strings, or load the file you are comparing.
  2. Select Find hidden characters.
  3. Use the line and column to find each one in your own editor. The context column marks the exact position.
  4. Turn on the tab option only if you suspect tabs where spaces are expected — otherwise they add noise.

What invisible character finder does

Two strings that look identical on screen and compare as unequal are almost always separated by a character with no width. A zero width space pasted out of a web page, a no-break space that came from a spreadsheet, a soft hyphen left by a word processor, a byte order mark on the first header of a CSV. Every one of them is a real character to a comparison, a join key or a column mapping, and none of them is visible in the place you are looking.

This page lists them with an address. Each hit gets a line and column, the code point, the character’s proper name and a short window of surrounding text with the position marked, so you can find it in your editor rather than guessing. Tabs are excluded by default, because in most files they are meant to be there, and can be included with an option. This finds and reports; the whitespace cleaner in the text category is what removes them.

Frequently asked questions

Zero width spaces, joiners and non-joiners, the whole family of Unicode spaces including no-break and narrow no-break, direction marks, soft hyphens, word joiners, line and paragraph separators, byte order marks, replacement characters, and the C0 control codes. Tabs are excluded unless you turn them on.

Copying out of a web page, a PDF or a word processor, mostly. Spreadsheets are the other common source: a no-break space arrives as part of a formatted number and survives every export. None of them are visible in an editor, which is why a join key that looks correct fails to match.

No, deliberately. This page finds and addresses them; the whitespace cleaner in the text category removes them. Keeping the two separate means you can see exactly what is there before deciding what should go, which matters when some of the characters are meant to be present.

The table is capped at two hundred hits so a badly affected file does not produce an unreadable page. The summary counts every occurrence and names the most common one, so you still get the full picture even when the list is truncated.