Productivity and Utilities

Hidden Character Detector

Paste text to find invisible characters and clean them out.

Paste text that behaves oddly. Up to 500,000 characters. Pasted text keeps its hidden characters.

    Everything runs in your browser and nothing is uploaded. Zero width characters, soft hyphens, direction controls, unusual spaces and control codes are the usual causes of text that looks right but fails to match, sort or paste cleanly. Direction marks are needed in some right-to-left writing, so turn off their removal if that applies to you.

    Next step

    How to use the hidden character detector

    1. Paste the text that behaves oddly into the box.
    2. Choose to see the cleaned text or the text with markers that show each hidden character as its code point. Decide whether unusual spaces become normal spaces.
    3. Choose whether to remove direction marks and whether to keep joiners inside emoji.
    4. Read the table of what was found, with each code point, its name, how many times it appears and where it first appears. Copy the result or download it.

    What the page looks for

    Text can hold characters that take no visible space. A zero width space, joiner or non-joiner, a word joiner, a byte order mark in the middle of a line, a soft hyphen and invisible math operators are the usual ones. Direction marks and bidirectional controls change how text is arranged when it mixes left-to-right and right-to-left writing. Some spaces look like a normal space but are not, such as the no-break space and the thin space. Control codes from old systems can also hide in pasted text.

    These characters turn up when text is copied from web pages, documents, chat apps and PDFs. They are the usual reason two strings that look the same do not match, a search fails, a spreadsheet will not sort, a file name is rejected, or a program reports an unexpected character.

    A worked example

    The sample text has eight such characters: a zero width space after Invoice, a no-break space and a zero width joiner after 4821 and paid, a byte order mark at the start of the second line, a soft hyphen inside Please review, a right-to-left override and its closing mark around this line, and a thin space in Cafe total. The cleaned result reads Invoice number: 4821 paid, then Pleasereview this line, then Cafe total: 12.50. The soft hyphen joined two words that had no space between them, which shows that removing a character can reveal how the text was really written.

    The table lists each code point, so you can look it up with the Unicode Code Point Converter. Text that is garbled rather than hidden, such as é in place of é, is a different problem that the Text Encoding Fixer handles. The Text Line Tools remove blank lines and extra spaces, and the Text Byte Size Calculator shows how many bytes the characters take.

    What to keep

    Not every invisible character is junk. A zero width joiner holds together the parts of many emoji, such as a family or a profession, and some scripts need joiners and non-joiners to display correctly. Direction marks are needed in some right-to-left writing. The page keeps joiners that sit inside an emoji, and flag sequences, and lets you decide about direction marks. Turn those options off to remove everything.

    Everything runs in your browser and nothing is uploaded, which matters when the text is private. Pasted text keeps its hidden characters, but a browser may normalize line breaks in a text box, so a file with unusual line endings is better handled with the Line Ending Converter.

    Assumptions and limits

    • The list covers common invisible, direction, space, control, selector and tag characters, and not every character in Unicode.
    • Tabs, line feeds and carriage returns are ordinary and are never flagged. Up to 500,000 characters are read.
    • Columns count characters, not bytes. An emoji counts as one or more characters.
    • Nothing is uploaded or stored.

    Formulas reviewed October 10, 2026. See the calculation methodology for how SumPanda rounds, tests and sources its formulas.

    Frequently asked questions

    How do I find hidden characters in text?

    Paste the text into the box. The page lists every invisible or unusual character it finds, with its code point, name, count and first position, and can show the text with each one marked.

    What is a zero width space?

    It is a character that takes no visible space but still counts as a character. It can sit inside a word, which stops searches and comparisons from matching. The code point is U+200B.

    Why does my text look the same but not match?

    Often because one copy has a hidden character, a no-break space instead of a normal space, or a different kind of dash or quote. This page finds the first two kinds.

    Will it remove emoji?

    No. Emoji are ordinary characters. The page keeps the joiners that hold an emoji sequence together, unless you turn that option off.