Find the Characters You Cannot See

0detected characters
0zero-width / joiners
0odd spaces
0control / bidi marks
0smart punctuation
Private by architecture: this tool runs entirely on your device — nothing you enter is sent anywhere.

A free invisible character remover: just copy text from ChatGPT, a PDF or a website, view all the invisible characters in it and delete the ones you want. It runs in your browser, no signup.

  • Detects zero-width, non-breaking and control characters
  • Shows each one in context before you clean
  • Converts smart quotes and dashes to plain ASCII
  • Per-category toggles — clean only what you want
  • 100% free, runs in your browser

Why This Invisible Character Remover Is Different

A free invisible character remover: just copy text from ChatGPT, a PDF or a website, view all the invisible characters in it and delete the ones you want. It runs in your browser, no signup.

Step by step

How to Use the Free Invisible Character Remover

Paste the suspect text

Anything that came from a PDF file, a website, a chat or a word processor.

Read the counts

The counters give you the total and a number per category (zero-width characters and joiners, unusual spaces, smart punctuation, control marks). Anything in a category you've switched off is counted but kept.

Inspect before cleaning

Turn on Show them in the text and every detected character gets marked with its Unicode code point. On long texts the preview stops at 20,000 characters and 1,000 marks, but the counts and the cleaned output still cover everything you pasted.

Copy the clean version

It changes just what you selected. Your letters and line breaks stay put, and so do joiners (ZWJ/ZWNJ) unless you switch that option on, because without them some emoji and scripts fall apart. Look it over, then copy.

The honest part

100% Free — Here Is Why That Is Sustainable

No server needed: the tool runs as JavaScript in your browser, therefore not costing us anything per use. This is the reason why it's free, and why your grades, notes, or signatures remain on your device.

It isn't. The whole thing runs in your browser, scan and cleanup alike, and that's on purpose: a lot of what gets checked here is unpublished drafts, credentials and client files.

8+hidden character types detected
0text uploaded — fully local
$0free, no signup
In practice

The Invisible Character Remover in Real Student Life

How it works

How to find hidden characters in text

Paste the text and click Scan & clean. The counts tell you the number of zero-width characters, odd spaces, control and bidi marks and smart punctuation it has detected, while the Show them in the text option highlights each one with its Unicode code point.

So it works as an invisible character detector first: you detect invisible characters before anything changes.

AI text

A ChatGPT watermark remover? What it really does

People look for a chatgpt watermark remover or an ai text watermark remover because text copied from AI conversations can come with zero width spaces, non-breaking spaces and curly quotes.

The ai invisible character remover eliminates precisely these characters. It has nothing to do with the actual wording: it is an ai hidden character remover, not a way to disguise AI writing.

Zero width

Zero width spaces and other invisible text

The zero-width space (U+200B) occupies a spot in the text without displaying anything. Along with word joiners and byte-order marks, it causes problems for logins, code and search.

The tool gets rid of such characters, and as an invisible text remover it also replaces non-breaking spaces with regular ones. Joiners (ZWJ/ZWNJ) are left intact by default, because emoji and some scripts need them.

Options

Remove invisible characters you choose

There is a toggle for each category: zero-width and invisible characters, non-breaking spaces, curly quotes to straight quotes, en and em dashes to hyphens, control and bidi marks.

Disable whichever one you would like to keep. Letters and line breaks are not altered, so this unicode character remover affects only your selection.

Detector

An AI invisible character detector? Plain matching

Plenty of visitors arrive looking for an ai invisible character detector. Good news, bad news. Bad: there's no AI. Good: there's no AI, so nothing is a guess and every count is exact.

Paste up to 100,000 characters; nothing is uploaded. Then it works as a hidden character remover for whatever form or spreadsheet you're filling in.

Scan vs retype

Why not just retype the text?

Typing it again will remove all the hidden characters, but it takes about ten minutes and adds typos. Scanning takes a few seconds, shows what was there and changes only the categories you select.

It also lets you know when the text was clean all along, which is often the answer to a mysterious problem.

Who uses it

Everyday users of this tool

Developers, a lot of them. Also students who copy from ChatGPT or a PDF into an essay, editors who clean text before it goes on a site, and the person who has stared at two matching strings for an hour wondering why the computer disagrees.

If something goes wrong

Three fixes that solve most problems

  • The text looks exactly the same. That is expected, because what was deleted was invisible. Look at the counters, or turn on Show them in the text before cleaning to see where the characters were.
  • Emoji or a script looks broken. Joiners (ZWJ/ZWNJ) hold certain scripts and emoji together. Keep the joiner option turned off, as it is by default, and clean the original text again.
  • Nothing was found. The text may already be clean. If it exceeds 100,000 characters it is not accepted, so paste a smaller section and scan again.
Also searched as

Same tool, many names

No matter how you expressed yourself, this is your page: one fast invisible character remover that respects both your time and your privacy, not 12 poor clones lying around the web. Feel free to bookmark it by any name you choose:

invisible character removerhidden character removerzero width space removerai zero width space removerai invisible text removeraccurate invisible character removeraccurate invisible character detectoraccurate hidden character removeraccurate invisible text removeraccurate zero width space remover
Is it really free, with no catch?

Of course: no registration, no watermark and no daily paywall. It will still be here next semester.

One page for each job is deliberate. Near-identical pages for every wording are standard SEO, and they're the reason looking for a basic tool is a slog. We'd rather build one good page that's quick, complete and upfront about what it can't do.

This is why the navigation above links to complete tool names and not cute nicknames: when your next job comes around, you will know where to go by reading, not guessing. The whole set is designed for someone in a rush who has never seen it before, and on a deadline, that is all of us.

Good to know

Invisible Character Remover FAQ

Zero width space (U+200B) along with zero width joiner, word joiner, byte order mark and directional override. These Unicode characters have no visual representation, yet occupy a spot in the string and count as characters, which is why they cause confusing bugs.

Word processors, PDF creators, web editors and chat apps add typographic niceties, such as non-breaking spaces that prevent awkward line breaks, curly quotes that look nicer and en dashes in ranges. When you copy the text, all of this comes along invisibly.

They are very sneaky. For example, your login form will refuse to accept a correctly entered email address, your code will fail to compile even though the line of code looks exactly like all the others, and two identical strings won't compare as equal. Word counters will give different results and Find will return nothing when you search for a visible word.

Letters are kept, and ZWJ/ZWNJ joiners are kept by default. Turning on joiner removal may change emoji and script shaping. Removing bidi marks can change the direction of the text. Pick only the cleanup options you need and review the result.

A normal space is U+0020 and a non-breaking space is U+00A0. They look the same, but the non-breaking one does not allow a line break there and tends to break CSV files, URL slugs and code. This tool turns non-breaking spaces into normal ones.

Up to 100,000 characters per run. An edit that would go over the limit is rejected, and your previous text stays. The preview is capped at 20,000 characters and 1,000 marks. Your input, settings and result are saved in this browser tab for Refresh and Back.

It isn't. The whole thing runs in your browser, scan and cleanup alike, and that's on purpose: a lot of what gets checked here is unpublished drafts, credentials and client files.

Tool and page last updated: October 2026.