Check your text for hidden AI watermarks

...and clean them out in one click. Paste anything, see every invisible character, then copy plain, unformatted text.

Paste text to check it.

    Why is everyone talking about AI watermarks?

    In April 2025, researchers at Rumi noticed something odd in ChatGPT's newest models: o3 and o4-mini were sprinkling narrow no-break spaces (U+202F), characters that look exactly like normal spaces, through long passages of generated text. The internet promptly declared it a secret watermark. OpenAI said the characters were a quirk of large-scale reinforcement learning, not a watermark, and within days they vanished from the models' output. The meme, however, stuck.

    And it stuck for a reason: text copied out of AI chat windows really does carry fingerprints. Curly quotes, em dashes (now a running joke as ChatGPT's favorite key), non-breaking spaces, markdown symbols, and occasionally genuinely invisible Unicode (zero-width spaces, joiners, direction marks) all hitch a ride into whatever you paste it into. None of it is cryptographic, but all of it is detectable, and some of it breaks code, spreadsheets and CMSs in maddening ways.

    The topic flared up again this month: since 2 August 2026, Article 50 of the EU AI Act requires providers of generative AI systems to mark synthetic content as artificially generated in a machine-readable way. Whatever form that marking ultimately takes across the industry, one thing is already true: people are once again pasting their text into checkers and asking what's hiding in it.

    Honesty corner: the characters this tool finds are typography and formatting artifacts, not cryptographic watermarks. True statistical watermarks (like Google's SynthID-Text) live in word-choice patterns and can't be removed by any character cleaner, including this one. What we can do is show you exactly what's in your clipboard, and give you back clean plain text.

    What this tool detects and removes

    Everything below is checked live as you type or paste. The same table drives the cleaner itself: what you see documented here is literally what the code does.

    Code point(s)NameWhat we doWhy it matters
    • Ironically, U+202F, "the ChatGPT watermark character", is also correct French typography before ; : ! ? %. If you're cleaning French text, untick "Normalize special spaces".
    • Direction marks and embeddings are legitimate in mixed Arabic/Hebrew text (they're also the "Trojan Source" attack vector). Untick "Remove invisible characters" for genuinely bidirectional content.
    • U+3000 is the standard full-width space in CJK text; ZWNJ (U+200C) is meaningful in Persian and Hindi. The options let you keep them.
    • Emoji are protected by default: joiners and variation selectors inside emoji like family sequences survive cleaning intact.

    Frequently asked questions

    Does ChatGPT really watermark its text?

    In April 2025, researchers found narrow no-break spaces (U+202F) sprinkled through ChatGPT o3 output, and the internet declared it a watermark. OpenAI said it was a training quirk, not a watermark, and the characters disappeared shortly after. What is true: AI-generated and web-copied text routinely carries special characters (curly quotes, em dashes, non-breaking spaces, sometimes invisible Unicode) that reveal where it came from or break the tools you paste it into. This checker shows you exactly what is there.

    Will cleaning change my actual words?

    No. WatermarkCheck never rewrites, rephrases or humanizes your writing. It only removes or normalizes characters and formatting: invisible characters are deleted, special spaces become regular spaces, curly quotes become straight quotes, and markdown symbols are stripped. Every change is itemized, and every rule can be switched off.

    Is my text uploaded anywhere?

    No. This page is a single file that runs entirely in your browser. There is no server, no analytics and no network requests; you can verify that in your browser's developer tools. It even works offline once loaded.

    Will this make AI text undetectable?

    It removes hidden characters and formatting artifacts, the things people call AI watermarks. It does not defeat statistical watermarks such as Google's SynthID-Text, which are woven into word choice itself, and it does not fool AI detectors that analyze writing style. No character cleaner can do those things, whatever it promises.

    Is the em dash really an AI tell?

    The em dash became a running joke as ChatGPT's favorite punctuation mark, and plenty of editors now treat it as a red flag. It is also a perfectly good punctuation mark that human writers have used for centuries. If you would rather not be suspected, the dash option converts em and en dashes to plain hyphens. Entirely up to you.

    Why do invisible characters break code and CMSs?

    A zero-width space inside a variable name, a byte order mark at the start of a config file, or a non-breaking space in a shell command all look identical to normal text but compare as different bytes. That breaks compilers, search-and-replace, deduplication and databases in ways that are maddening to debug, which is the practical reason to clean pasted text even if you do not care about AI provenance.