All free tools
Text tool / 100% free

Hidden Character Remover

Paste text from ChatGPT, Claude, Gemini or anywhere else to see every invisible character in it, marked exactly where it sits, then remove them without changing a visible letter.

  • Runs in your browser
  • Free, no sign-up
  • Shows what hidden text says
Drop text files hereOr paste below. Every invisible character is found, named and marked where it sits.
  • TXT
  • MD
  • CSV
  • JSON
  • HTML
  • SRT
Checked on this device. Nothing is uploaded.
How it works

What happens to your text.

The text is read one character at a time in your browser. Each invisible character is identified by its Unicode code point and sorted into a type. Runs of tag characters and variation selectors are decoded, because those two can carry a complete hidden message. Context decides what is legitimate: the tags inside a flag emoji, the joiner between the parts of a family emoji and a single selector after an emoji are kept. Removal only touches the types you leave switched on, unusual spaces are replaced with an ordinary space so no two words run together, and the cleaned text is scanned again so the result is checked rather than assumed.

Where it stops: This works on characters. Some AI providers watermark text statistically, in the choice of words, and that kind of mark is not a character: no character tool can see or remove it, and this one does not claim to. It cleans plain text; a PDF needs the PDF tool, which keeps the file a PDF.

What each type of hidden character does

TypeExamplesWhy it mattersBy default
Zero-width charactersU+200B zero width space, U+200D zero width joiner, U+FEFF byte order markInvisible, but they break search, word counts, comparisons and codeRemoved; a joiner inside an emoji is kept
Tag charactersU+E0000 to U+E007FInvisible copies of ordinary letters that can spell out an instruction an AI tool reads and you do not, sometimes called ASCII smugglingRemoved; flag emoji are kept
Variation selectorsU+FE00 to U+FE0F, U+E0100 to U+E01EFOne after an emoji is normal; a long run can carry hidden dataRuns removed; single ones kept
Direction controlsU+202E right-to-left override, U+2066 to U+2069 isolatesMake text display in a different order from how it is stored, which can disguise a file name or codeRemoved
Invisible formattingU+2062 invisible times, U+3164 Hangul fillerTake up no space; used to pad names and slip past filtersRemoved
Control charactersU+0000 to U+001F, except tab and line breaksNot meant to appear in text and can break parsersRemoved
Soft hyphensU+00ADOnly appear when a word breaks at a line end, but still split the word for searchRemoved
Unusual spacesU+00A0 no-break space, U+202F narrow no-break spaceLook like a space but do not match one in search, code or spreadsheetsReplaced with an ordinary space

Do AI chat tools add hidden characters?

It varies between tools and changes over time, so claims either way age quickly. What can be checked is the text in front of you: paste it here and every invisible character is shown by name. Where nothing is found, the text genuinely contains nothing hidden at the character level, and that is worth knowing too.

When you need this

What people use it for.

Checking text copied from an AI chat tool before you publish or submit it
Finding a hidden instruction in a prompt, email or web page before an AI assistant reads it
Fixing code, CSV or JSON that fails because of a no-break space or a stray byte-order mark
Cleaning names and usernames padded out with invisible filler characters
What this tool includes

Everything you need, without a paywall.

Finds eight kinds of invisible character and names each one with its code point
Decodes hidden messages written in tag characters or variation selectors
Keeps flag, family and skin-tone emoji intact
Flags words that mix look-alike Cyrillic or Greek letters into Latin ones
You choose which types to remove; unusual spaces become ordinary spaces
Checks the cleaned text again and says what is left
Copy the result, download it, or clean up to 50 text files at once
Runs in your browser, so the text is never uploaded
Questions

Common questions.

How do I remove hidden characters from text?

Paste the text or drop a text file. Every invisible character is listed and marked where it sits. Leave on the types you want removed, then copy the cleaned text or download it. The cleaned text is checked again before you use it.

Does this remove ChatGPT or other AI watermarks?

It removes watermarks made of invisible characters, if a text contains any. It cannot remove statistical watermarks, such as Google SynthID Text, which are patterns in word choice rather than characters; only rewording changes those, and this tool never rewrites your text.

What is a hidden message in tag characters?

Unicode has invisible copies of the ordinary letters, digits and punctuation, called tag characters. A run of them can spell out a sentence that you cannot see but an AI model can read, which is how instructions get smuggled into copied text. This page decodes and shows that text before removing it.

Will it break emoji?

No. Flag emoji such as England and Scotland use tag characters, family and profession emoji use zero-width joiners, and some emoji use a variation selector. Those are recognised from the characters around them and kept.

Is my text uploaded?

No. Everything happens in your browser, including files you drop in. Nothing is sent to a server.

Can it clean PDF files?

This page cleans plain text and text files such as TXT, Markdown, CSV, JSON, HTML and subtitles. For a PDF, use Remove Invisible Characters from PDF, which cleans the document and keeps it a PDF.

Related free tools

You might also need.