clean --source chatgpt,claude,gemini --inspect --output plain

The Free Browser-Based AI Text Cleaner & Artifact Stripper

Remove Markdown clutter, invisible Unicode characters, smart quotes, em dashes and other formatting artifacts from ChatGPT, Claude and Gemini text — entirely in your browser, nothing uploaded.

AI Watermarks Explained →
Runs in your browser Nothing uploaded, ever No sign-up, no limit
Paste text to see what's hiding in it
Paste raw AI text

Try pasting a chunk of markdown-heavy AI output — bullet lists, bold text, or an em dash or two.

0 chars · 0 words
Cleaned result Copied

Cleaning rules — toggle what you need

0
characters processed
0
characters changed
0
artifact types found

Most used tools

Browse all 23 tools →

What ClearPaste removes

Every artifact the tool cleans, in one reference — what it looks like, what it is, and why it causes problems.

ArtifactExampleWhy it breaks things
Markdown headings## TitleLiteral # in plain-text systems and CMSs
Bold / italic asterisks**word**Stray stars fail code, JSON and regex
Bullet markers- itemAuto-lists in Notion and Google Docs
Code fences```pythonBackticks clutter non-markdown editors
Smart quotes"word" 'word'Break JSON, CSVs and code expecting ASCII
Em / en dashes— –Different codepoints from hyphens; break matching
Ellipsis…Behaves differently from three dots
Non-breaking spacesU+00A0Stop wrapping; break whitespace-sensitive parsing
Invisible charactersU+200B, U+FEFF…Break search, regex and string comparison
Trailing whitespace"word "Fails linters and diff tooling
Blank line runs3+ breaksLoose spacing in documents and CMSs
Citation markers【4:0†source】ChatGPT/Perplexity leftovers that read as junk

Paste a chunk of ChatGPT, Claude or Gemini output into the tool above and the inspector shows exactly which of these are hiding in it — with live counts, a reveal view that labels every invisible character in place, and one-click cleaning. Every rule is a toggle, so you keep the formatting you want.

Why AI output needs cleaning

Text copied from a chat window looks fine on screen. It's what's underneath that causes problems once you paste it into a CMS, a codebase, or a document.

invisible

Zero-width characters

Zero-width spaces and word-joiners are silent — they don't show up when you read the text, but they can break on-site search, regex matches, and string comparisons in code.

spacing

Non-breaking spaces

These look like ordinary spaces but stop lines wrapping where you'd expect, and can throw off whitespace-sensitive parsing in templates and markdown renderers.

style

Em dashes & smart quotes

Curly quotes and em dashes are common in AI-generated and heavily edited text, and can cause problems in plain-text contexts like code, JSON and CSV.

markdown

Leftover formatting

Headings, asterisks, and code fences from a chat window clutter up systems that don't render markdown — leaving stray #, *, and backticks in your final copy.

structure

Extra blank lines

Chat exports often carry doubled line breaks and trailing whitespace that make pasted text look loosely spaced compared to the rest of your document.

unicode

Lookalike & fullwidth letters

Some characters visually mimic plain Latin letters (fullwidth, ligatures, or letters from other alphabets) and can trip up search, spellcheck, and validation.

Why ChatGPT and Claude output is never clean

What actually happens when you copy text out of a chat window — and why a dedicated AI text cleaner exists at all.

The hidden Unicode layer you can't see

When you copy a response from ChatGPT, Claude or Gemini, you are not copying plain text. Chat interfaces paste through the browser's rich-text layer, and along the way the text picks up invisible Unicode characters that never appear on screen: zero-width spaces (U+200B), zero-width joiners (U+200D), word joiners (U+2060), byte-order marks (U+FEFF) and soft hyphens (U+00AD). Each one is a real character with a real codepoint, sitting silently between the letters you can read.

The moment that text lands somewhere strict, the invisible layer starts costing you. A string comparison fails even though both sides look identical. A regex like ^[a-z]+$ rejects a word that visually matches. A JSON validator points at a line that looks perfectly fine. Search inside your own CMS returns "no results" for content you know exists, because the query and the content disagree about an invisible space. Developers who have to fix ZWSP breaking code usually spend an hour suspecting their own logic before discovering the character was never visible in the first place.

To strip invisible Unicode characters from LLM output reliably, you need a tool that knows the full inventory: not just the two or three famous ones, but the bidi control marks (U+202A–E), the invisible math operators (U+2061–4) and the format characters that PDFs and spreadsheet exports sprinkle in. The invisible character remover handles the complete list — and it is emoji-safe, meaning it preserves the zero-width joiners that legitimate emoji sequences like 👨👩👧👦 need to stay intact.

Zero-width characters: the worst offenders

The zero-width family deserves its own warning label. A zero-width space (ZWSP) inserted mid-word splits every downstream process that assumes words are contiguous: search indexing, deduplication, exact-match database lookups, URL matching. A zero-width joiner is more dangerous still, because it has a legitimate job — gluing emoji together — so blunt tools that delete every U+200D shred multi-part emoji into separate symbols. Anyone who has tried to remove zero-width joiner text online with a naive script has seen 👨👩👧👦 collapse into four separate figures.

ClearPaste's approach is protect-strip-restore: it identifies emoji ZWJ sequences first, removes the zero-width characters that have no business being there, then restores the joiners that were doing real work. That is the difference between a cleaner and a character shredder. The zero-width character remover covers the full family — ZWSP, ZWJ, ZWNJ, word joiner and BOM — with a reference table of where each one hides.

Markdown clutter: the visible half of the problem

Invisible characters are only half the story. The other half you can see: the Markdown that chat models wrap around everything. Headings arrive as literal "##" prefixes. Bold text arrives wrapped in double asterisks. Bullet lists arrive as "- item" lines that Notion and Google Docs cheerfully auto-convert into list blocks you never asked for. Code fences arrive as triple backticks that clutter a document or a CMS field. To clean ChatGPT markdown formatting by hand means find-and-replace sessions for every artifact type — and smart quotes (U+201C, U+201D) and em dashes (U+2014) hide in the same copy, breaking JSON and code that expect plain ASCII punctuation.

ClearPaste strips the whole visible layer in one pass: heading markers, bold and italic asterisks, bullet markers, code fences, smart quotes, em and en dashes, ellipses, non-breaking spaces, trailing whitespace and runs of blank lines. Every rule is a toggle, so if you want to keep the Markdown for a renderer that understands it, you can — the full AI formatting cleanup is one click with the rules you choose.

Why this matters more than it sounds

Every one of these artifacts is individually tiny and collectively expensive. A zero-width space in a product name breaks the site search that customers use daily. A smart quote inside a JSON config fails a deployment. An em dash in a CSV column shifts your data pipeline's parsing. A stray "##" in a CMS field ships to production looking unfinished. None of these survive five seconds in a real text cleaner — which is why the tool above exists: paste, inspect, clean, copy. Everything runs in your browser, nothing is uploaded, and the result is text that behaves the way it looks.

From copy-paste to clean in three steps

  1. Paste the ChatGPT, Claude or Gemini output into the cleaner above — the AI Text Inspector shows every artifact type it found, with live counts.
  2. Toggle the cleaning rules you want — markdown, invisible characters, typography, whitespace — and watch the result update as you type.
  3. Copy the clean text into your CMS, codebase, document or spreadsheet. Nothing was uploaded at any point; closing the tab erases everything.

Built for anyone pasting AI text daily

One paste, one click, zero setup. Every rule is a toggle so you keep exactly the formatting you want.

Developers

Strip smart quotes and dashes from AI-generated code snippets before they break your build or your JSON.

Writers & editors

Remove markdown leftovers and hidden characters before pasting into a CMS, a manuscript, or an email.

Students & researchers

Normalize AI-assisted notes into plain, consistent text before it goes into a paper or a citation manager.

Content teams

Move text between ChatGPT, Notion, Google Docs, and your CMS without picking up formatting debris along the way.

Frequently asked questions

Does ClearPaste upload or store my text?

No. Every transform runs as JavaScript in your own browser tab. Your text is never sent to a server, logged, or stored anywhere — closing the tab clears it completely.

What's the difference between "strip markdown" and "clean formatting"?

Stripping markdown removes syntax characters like #, *, and backticks that AI chat tools add for headings, bold text, and code blocks. Cleaning formatting is broader — it also fixes invisible characters, spacing, and punctuation that markdown-stripping alone won't touch. ClearPaste does both, and you choose which rules to apply.

Will this remove an AI "watermark" or detector flag?

ClearPaste removes formatting artifacts commonly associated with AI output — em dashes, smart quotes, and invisible Unicode characters — which can affect how some detectors and editors treat your text. It doesn't make any claim about bypassing detection; it simply produces plain, standard-format text.

Can I keep markdown headings but remove everything else?

Yes. Every cleaning rule has its own toggle — untick "Remove markdown headings" and leave the rest on, and only your chosen rules run.

What output formats are supported?

Plain text for general use, an HTML-escaped version safe to drop into markup, and a Notion/Docs mode that keeps line breaks intact and strips bullet markers (•, -, *) so Notion doesn't auto-convert pasted lines into list blocks.

Does it work on mobile, and offline?

Yes to both. The page is a single lightweight file with no external fonts or scripts, so it loads quickly on any device and keeps working once it's loaded, even without a connection.

Does ClearPaste humanize AI text?

It removes the formatting tells that AI text carries — markdown clutter, em dashes, smart quotes and invisible characters — so your text reads like normally typed content. It does not claim to beat AI detectors: those are statistical guesses, not formatting. What it does is real text hygiene, honestly.

What hidden tracking characters does ClearPaste remove?

The invisible layer chat interfaces and PDFs add: zero-width spaces (U+200B), zero-width joiners (U+200D), word joiners (U+2060), byte-order marks (U+FEFF), soft hyphens (U+00AD), bidi direction controls and invisible math operators. These are the characters used for hidden text and tracking artifacts — none survive the cleaner, and emoji sequences are protected.

How does the AI Text Cleaner work?

Paste your text and every rule runs as JavaScript in your browser: markdown is stripped, typography is normalized, invisible characters are removed (emoji-safe) and whitespace is fixed. Nothing is sent to a server — the page works offline once loaded.

Can ClearPaste remove AI watermarks?

ClearPaste removes formatting and Unicode artifacts — markdown, smart quotes, em dashes, zero-width characters and similar — which are the layers that cause copy-paste problems. Proprietary statistical watermarks such as Claude's planned text watermark and Google SynthID are embedded differently and cannot be verified or removed by any browser-based tool. See what can actually be removed.