Inspect text you already have

Invisible Character Checker

Paste text to reveal supported blank, spacing and format characters. Use it as a hidden character detector to identify what is present and where, without changing the original.

Paste or type your text

The checker runs only when you choose Check text.

Up to 10,000 Unicode code points

Your text stays in this page. This checker does not upload, save or automatically read your clipboard. How tool text is handled

Your report will appear here

The checker runs only when you choose Check text.

See the character your eyes cannot find.

AB with a hidden U+200B at position 2
Demonstration: A + U+200B + B contains three code points. The blue labels reveal the source; they are not part of your text.

Compare AB with A[U+200B]B. Both may look like AB, but only the second contains a Zero Width Space. Its report has 3 code points, 1 flagged character, position 2. The checker inspects one input at a time; it does not automatically compare two strings.

The second example contains one U+3164 and no ordinary spaces. A visually empty box is therefore different from an empty string.

Choose the next step from the finding

Focused on blank, spacing and format characters.

The primary list covers the characters used by this site plus common zero-width, joining, bidirectional and spacing controls. Ordinary letters, punctuation and symbols stay visible as context.

Flagged set

Includes U+00A0, U+200B, U+2800, U+3164 and a documented group of related format and spacing characters.

Layout whitespace

Regular spaces, tabs and line breaks are counted separately because they are normally part of readable text.

Position means code point

Positions start at 1 and count Unicode code points. A displayed emoji or accented letter can contain more than one code point.

No automatic cleaning

The checker does not remove or normalize text. Format characters can be meaningful; use the selective remover when changing them is your actual task.

A “not found” result has a boundary.

It means the text has no characters from this checker’s focused flagged set. It is not a security scan, AI-watermark verdict or proof that every Unicode character is ordinary.

Names are pinned to Unicode 18.0.0.

The character list uses Unicode data dated August 7, 2026. Tool behavior is checked separately with fixed examples, including U+200B and U+3164 in the same string.

How to check text for hidden characters.

The checker reads the text in the box. It never edits that text, and it never pulls content from your clipboard on its own.

  1. Paste the text that behaves strangely.

    Paste the actual value — the username, the spreadsheet cell, the field that was rejected. An empty box stays empty; the report describes the string currently in the control.

  2. Choose Check text and read the four counts first.

    Total code points, flagged characters, layout whitespace and other characters. The counts tell you whether the problem is a hidden character, an ordinary line break, or something that is not whitespace at all.

  3. Locate each flagged character in the annotated preview.

    Supported blank and format characters are replaced by readable tokens, so you see where they sit without the original being altered. Turn on “Show spaces and tabs” to also mark ordinary layout whitespace.

  4. Copy the report or continue to the right tool.

    Positions are one-based and counted in Unicode code points. From a finding you can jump to a character reference, to the selective remover, or back to the generator.

What a report contains.

Take a string built from eight code points: the letters A B C D E, one ordinary space, one Zero Width Space and one Hangul Filler, arranged as A B [U+200B] C [U+3164] D [U+0020] E.

The four counts

Total code points
8
Flagged characters
2
Layout whitespace
1
Other characters
5

What the detail list adds

  • U+200B at position 3
  • U+3164 at position 5
  • U+0020 reported as layout whitespace at position 7
  • Letters A, B, C, D, E counted as other characters

The annotated preview marks the two flagged positions in the middle of the string so you can see the surrounding letters stay untouched.

Why the space is reported separately

A regular U+0020 space at the end of a value can break an exact match, but it is ordinary layout whitespace rather than a hidden format character. Separating the two groups keeps a normal sentence from looking like a defect.

Five reasons a text behaves differently from how it looks.

A form rejects a value that looks empty

The required-field rule fires but you see nothing in the box. A report tells you whether a code point such as U+200B or U+3164 is present, and how many.

A display name is already “taken”

Two names can look identical and still differ by one zero-width character. Check both strings before concluding that the platform is inconsistent.

Two values that should match do not

Identical-looking values in a spreadsheet, filter or import can differ by a hidden character. The one-based positions point at the exact difference.

Text pasted from a PDF, email or chat wraps oddly

A Zero Width Space creates a break opportunity where no visible space exists. The checker shows whether one sits inside the word.

You need to describe a bug precisely

Copy the report into a ticket or message so another person gets the code point, the name and the position instead of a screenshot that hides the cause.

Invisible character checker FAQ

What counts as an “invisible character”?

There is no single Unicode property called invisible. This checker treats blank-looking letters and symbols (U+2800, U+3164), zero-width and joining controls (U+200B, U+200C, U+200D, U+2060, U+FEFF) and a documented set of format and spacing characters as its flagged set, and reports them separately from ordinary spaces, tabs and line breaks.

Why is my regular space not flagged?

Because a normal U+0020 space is ordinary layout whitespace. It is counted in its own metric instead, so a normal sentence is not reported as contaminated. Turn on “Show spaces and tabs” to see those characters marked in the preview.

Why does an emoji or an accented letter count as several code points?

Positions count Unicode code points, not what a reader perceives as one character. Some emoji, flags and accented letters are built from several code points, so a text can hold more code points than visible characters.

The checker found nothing. Is my text clean, safe or human-written?

No. A “no characters from this supported set were found” result only covers the focused list this tool defines. It is not a security scan, not an AI-watermark verdict and not proof that every Unicode character is ordinary.

Does the checker change or remove anything?

No. It reports; it never rewrites your text. When removal is genuinely your task, open the invisible character remover, where you choose character types before anything is deleted.

Does my text leave the page?

No. The checker runs in your browser, the text is not uploaded or stored, and the input is never read from your clipboard automatically. The copy button only writes the report text. See how tool text is handled.

How do I type an invisible character, rather than check one?

Use the blank space copier on the home page: choose the character type, set an exact amount from 1 to 1,000 and copy it. The character directory lists what each one does.

How much text can I check at once?

Up to 10,000 Unicode code points. Longer input stops with an explanation instead of returning a partial report that could be mistaken for a complete one.