AI Text Watermark Remover: strip every AI watermark, decoration & tell
Strip invisible Unicode watermarks, Markdown decorations (**, #, ` ` `, >, bullets, links), emoji, HTML tags, and any character or regex pattern you choose from ChatGPT, Claude, Gemini output. Live preview, per-class counts, copy & download. Your text never leaves your browser.
Invisible Unicode & whitespace 7 selected
Markdown / AI decoration 13 selected
Custom removal (characters & regex) empty
/.../flags for explicit flags.What you'll use this for
Academic writing
Strip invisible markers from AI-assisted drafts before submission to plagiarism / AI-detection scans (still write your own work — this just removes obvious tells).
Content publishing
Clean up CMS pastes that drop zero-width spaces into your slugs, titles and meta descriptions — they break URL routing and search.
Code paste cleanup
Ever pasted code that looked identical but wouldn't compile? Zero-width chars in function names are a notorious AI gotcha. This strips them.
Forensic analysis
See exactly which invisible characters and how many were present. The per-codepoint breakdown reveals which AI service was likely the source.
Email & chat
Strip BOMs and weird spaces from AI-drafted email/Slack messages so word-count and search work normally for recipients.
Database cleanup
Sanitize AI-generated content before saving to a database — invisible chars break full-text search, unique constraints and JSON parsing.
How to use the GPT watermark remover
Paste your text
Paste ChatGPT, Claude, Gemini or any AI output into the left textarea. Cleaning runs automatically.
Pick normalization options
Invisible-Unicode stripping is always on. Optionally normalize curly quotes, em-dashes, ellipsis or non-breaking spaces to their plain ASCII equivalents.
Review the breakdown
See exactly how many of each character class were removed — zero-width space U+200B, BOM U+FEFF, etc. The forensic detail reveals the source.
Copy or download
Grab the cleaned text on the right. Copy for paste, or download as .txt for offline use.
How AI watermarks work — and how this tool removes them
Large language models can be made steganographically watermarked in two ways: cryptographic (the choice between similarly-likely next tokens is biased by a secret pseudo-random function, detectable only to the model owner) and character-level (invisible Unicode characters inserted into the output at a regular cadence). OpenAI publicly described work on cryptographic watermarking in 2023 but has never confirmed shipping it. Character-level marks — whether deliberate or side-effects of training data — are easy to spot and easy to strip. This tool focuses on those.
The character classes this tool strips
Zero-width characters — invisible in any rendered text, take zero width on screen, but counted by string length:
U+200BZero-Width Space (ZWSP) — most-reported AI watermark characterU+200CZero-Width Non-Joiner (ZWNJ)U+200DZero-Width Joiner (ZWJ) — also used in emoji sequences (preserved as part of emoji)U+2060Word Joiner — used by some LLMs as a paragraph markerU+FEFFZero-Width No-Break Space / BOM — byte-order markU+180EMongolian Vowel SeparatorU+115F,U+1160Hangul Choseong/Jungseong Fillers
Bidirectional / formatting controls: U+200E Left-to-Right Mark, U+200F Right-to-Left Mark, U+202A–U+202E bidi embedding controls — sometimes used by AI to align RTL+LTR mixed output.
Soft hyphen (U+00AD) and combining grapheme joiner (U+034F) — both invisible.
Optional normalization (toggle on if you want)
AI tools often emit typographic punctuation instead of ASCII equivalents — they look better but break code, search and round-trip pipelines.
- Curly quotes
“ ” ‘ ’→ ASCII" "and' ' - Em-dash
—(U+2014) and en-dash–(U+2013) → hyphen- - Ellipsis
…(U+2026) → three dots... - Non-breaking space
U+00A0→ regular space
Privacy
This page is pure JavaScript. Your text is processed in the browser via String.prototype.replace with a regex. No network request is made for any text you paste — open DevTools and verify. You can disconnect from the internet after loading the page; the tool still works.
Limits of watermark removal
This tool removes character-level watermarks. It does not defeat:
- Cryptographic watermarks embedded in the token-choice distribution (if OpenAI / Anthropic ever ship them). Removing those requires paraphrasing — not character substitution.
- Style-based AI detection (GPTZero, Originality.ai, Turnitin AI). These score word frequency, sentence rhythm, perplexity, burstiness — features unrelated to invisible characters.
Cleaning watermarks raises the bar for casual detection but isn't a silver bullet. The honest use case is preventing accidental watermark insertion (CMS, search, JSON pipelines) — not gaming academic-integrity software.
AI Text Watermark Remover — frequently asked questions
OpenAI publicly experimented with cryptographic watermarking in 2023 — they have not confirmed shipping it. However, AI output frequently contains characters like the zero-width space (U+200B), zero-width joiner (U+200D), word joiner (U+2060), and unusual em-dash variants that don't appear in normal typing. Whether deliberate or side-effects, these characters reliably reveal AI-generated text to detectors.
Three categories: Invisible Unicode (ZWSP, ZWNJ, ZWJ, word joiner, BOM, mongolian vowel separator, hangul fillers, bidi controls, soft hyphen). Optional normalization (curly quotes → straight, em-dashes → hyphens, ellipsis → three dots, non-breaking space → regular). Optional cleanup (collapse multiple spaces, trim line whitespace).
No. All processing happens in your browser via plain JavaScript regex. You can disconnect your internet after loading the page — it still works.
No. Newlines, paragraphs, tabs, indentation and code blocks are all preserved. Only invisible watermark characters are stripped. The optional normalization toggles change typographic punctuation but the visible text reads identically.
Maybe. Watermark removal is one defence. Detectors also use word-frequency analysis, sentence rhythm, perplexity, burstiness and other signals to flag AI text. Cleaning watermarks raises the bar but doesn't defeat style-based detectors like GPTZero or Originality.ai.
The tool is careful here — ZWJ inside emoji sequences (👨💻 = man + ZWJ + computer) is preserved. Standalone ZWJ between letters is stripped. Compound emoji like family glyphs (👨👩👧👦) remain intact.