HCODX/AI Text Watermark Remover
Invisible Unicode · Markdown · Custom chars & regex

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.

Quick presets:
Invisible Unicode & whitespace 7 selected
Markdown / AI decoration 13 selected
Custom removal (characters & regex) empty
Every character you type here is stripped from the output. No escaping needed.
Plain pattern is treated as a global, case-insensitive regex. Wrap in /.../flags for explicit flags.
Paste AI-generated text0 chars
Clean output0 chars
Use cases

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.

Step by step

How to use the GPT watermark remover

1

Paste your text

Paste ChatGPT, Claude, Gemini or any AI output into the left textarea. Cleaning runs automatically.

2

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.

3

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.

4

Copy or download

Grab the cleaned text on the right. Copy for paste, or download as .txt for offline use.

About

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+200B Zero-Width Space (ZWSP) — most-reported AI watermark character
  • U+200C Zero-Width Non-Joiner (ZWNJ)
  • U+200D Zero-Width Joiner (ZWJ) — also used in emoji sequences (preserved as part of emoji)
  • U+2060 Word Joiner — used by some LLMs as a paragraph marker
  • U+FEFF Zero-Width No-Break Space / BOM — byte-order mark
  • U+180E Mongolian Vowel Separator
  • U+115F, U+1160 Hangul Choseong/Jungseong Fillers

Bidirectional / formatting controls: U+200E Left-to-Right Mark, U+200F Right-to-Left Mark, U+202AU+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.

FAQ

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.

Related

Related tools