What does text copied from Claude actually look like?
Claude writes its answers in Markdown: ## for headings, **bold** for emphasis, - or 1. for lists, and triple backticks for code blocks. Claude's own interface renders that markup into formatted text, so it looks clean there. The trouble starts when you copy the rendered result into a destination that doesn't render markdown the same way — the symbols can come along as literal characters, or the destination's own paste handling adds its own spacing.
Separate from markdown, Claude's prose tends toward typographically "smart" punctuation — em dashes, curly quotes, ellipses — the same habit documented across most current large language models, not something unique to Claude. See why AI text is full of em dashes for the data behind that pattern.
Where the hidden characters actually come from
It's tempting to assume every invisible character in AI output is the model "marking" its text. For Claude, that's not accurate. The one confirmed case of a chatbot inserting a trackable hidden character was OpenAI's o3 and o4-mini briefly emitting narrow no-break spaces (U+202F) in April 2025 — OpenAI called it a quirk of large-scale reinforcement learning, not a watermark, and it stopped within days. There is no equivalent documented episode for Claude.
What does show up in Claude pastes is ordinary paste-pipeline noise: non-breaking spaces (U+00A0) from the chat UI's HTML, curly quotes and em dashes from the model's writing style, and occasionally a byte-order mark or zero-width character introduced by whatever app you pasted into next — Word, Google Docs, Notion, a CMS editor. See why text pastes weird for the full list of culprits, or the invisible Unicode characters list to see exactly what each one is.
The August 2026 Claude watermark — and why cleaning can't remove it
On August 11, 2026, Anthropic announced that Claude models launched on or after August 2, 2026 carry a SynthID-Text-style statistical watermark worldwide, alongside C2PA metadata on files Claude generates. The timing lines up with Article 50 of the EU AI Act, which requires generative-AI output to be marked in a machine-readable, detectable way from that same date.
A statistical watermark works nothing like the character-level artifacts this page is otherwise about. Instead of inserting a character, it biases which words the model picks during generation using a secret key held by Anthropic — the same technique Google DeepMind published for SynthID-Text in Nature in October 2024. No Unicode characters are added, so there is nothing for a character cleaner to find or strip. Anthropic says detecting it needs a reasonably long sample and that substantial editing or paraphrasing degrades it — the same limits that apply to SynthID-Text.
Honesty note: this tool removes character-level artifacts only. It is not, and does not claim to be, a way to defeat AI detection or strip a statistical watermark — see how AI detectors actually work for why word-choice patterns and hidden characters are separate problems.
Cleaning Claude output before you paste it somewhere else
Paste Claude's response into the cleaner above. The AI Clean preset (default) strips invisible and non-breaking characters and standardizes typography while leaving markdown symbols intact — the right choice for most destinations. If you're pasting into a field that shows raw text instead of rendering markdown, turn on Strip Markdown in Advanced Controls. If you'd rather keep Claude's em dashes and curly quotes, use Keep Typography instead. For code, CSV, or any system that only accepts keyboard characters, use Plain ASCII. Full destination-specific notes live on pasting AI text into Word and Google Docs.