Remove hidden characters, smart quotes, em-dashes, markdown noise, and invisible Unicode from ChatGPT, Claude, DeepSeek — free, instant, and entirely in your browser. Nothing leaves your device.
Paste or upload → pick a mode → clean
Cleaned text appears here
Paste input → click Clean Text
Your Stats
· saved locally · never sent anywhere—
Total fixes
run your first clean above
—
Clean runs
stored locally · never sent
0
Cleaning rules
Unicode · punctuation · markdown · AI
0
Export formats
TXT · Markdown · PDF · Word
Features
Strips zero-width spaces, FEFF BOM, soft hyphens and all invisible Unicode.
Download as TXT, Markdown, PDF or Word — one click.
Dedicated presets for ChatGPT, Claude, Grok, DeepSeek and Jasper.
Writer, Developer, SEO — each auto-configures the right rules.
Last 30 cleans saved locally. Restore or re-export any previous session.
Everything runs in your browser. No server, no tracking.
What it cleans
Also includes
How it works
Paste text or drag a .txt, .md or .docx file into the input panel.
Choose Writer, Developer or SEO — options auto-configure for your use case.
Hit ⌘+Enter or the button. Stats show every fix applied. Toggle Diff to see changes.
One-click copy, or download as TXT, Markdown, PDF or Word document.
About TextPurify
Every major AI writing tool — ChatGPT, Claude, DeepSeek, Grok, Jasper — outputs text that looks clean in its own interface but breaks the moment you copy it somewhere else. The reason is simple: these tools are built to render Markdown. Their interfaces display **bold** as bold, ## Heading as a heading, and the em-dash (—) as a stylistic separator. When you paste the raw text into Word, Gmail, a CMS, or a plain-text editor, none of that rendering happens — you get the raw symbols instead.
Beyond visible formatting, AI models also embed invisible characters that you cannot see but which cause real problems downstream: broken word counts, failed CMS validation, encoding errors in databases, and search-index anomalies. TextPurify removes all of it — visible formatting noise and invisible Unicode alike — in a single click, entirely in your browser.
Hidden characters are Unicode code points that have no visible glyph but occupy space in a string. The most common ones in AI output are:
DeepSeek has been documented embedding zero-width characters as implicit watermarks in generated text. TextPurify strips every invisible Unicode code point regardless of its origin, giving you a clean, portable string.
Markdown is a lightweight formatting syntax designed for plain-text documents that get rendered into HTML. ChatGPT, Claude, and Grok are all trained to format responses in Markdown because their interfaces render it. The problem arises when you copy that text into a destination that does not render Markdown:
**bold text** appears as literal asterisks in Word, Gmail, and Notion plain mode.## Heading appears as a # symbol at the start of a line in most CMSs and email clients.- bullet point appears as a hyphen followed by text, not a formatted list.`inline code` appears with backtick characters in spreadsheets and plain-text fields.TextPurify's Strip Markdown option removes all Markdown syntax while preserving the underlying text. It handles headings, bold, italic, blockquotes, lists, code fences, and links. The Remove Asterisks option is a separate blunt pass that deletes every * character — useful for removing bullet symbols without processing the full Markdown AST.
AI models are trained on professionally typeset text and replicate its typographic conventions. The em-dash (—) appears in ChatGPT and Claude output as a stylistic separator. The Unicode ellipsis (…) replaces three dots. Curly "smart quotes" replace straight ASCII quotes. While these are correct typographically, they create practical problems:
TextPurify normalises all of these to their plain ASCII equivalents: em-dashes to spaced hyphens, curly quotes to straight quotes, and the Unicode ellipsis to three dots — making the text portable across any destination.
The newest generation of reasoning AI models — DeepSeek R1 and Anthropic Claude with extended thinking — generate an explicit chain-of-thought before producing their final answer. This reasoning is wrapped in XML-style tags:
<think>…</think> Reasoning blocks that can run hundreds of lines before the answer.<thinking>…</thinking> Internal reasoning generated when extended thinking mode is on.<reasoning>…</reasoning> Alternate reasoning block tag in some API configurations.These reasoning blocks appear verbatim when you copy text from the raw API response or from certain third-party interfaces. TextPurify's Remove <think> blocks option deletes the entire reasoning section and leaves only the final answer. The final answer always follows the closing tag and is never affected.
Different use cases require different cleaning rules. TextPurify ships with three pre-configured modes so you don't have to toggle options manually:
You can also switch individual options on or off in the Cleaning Options panel to build a custom rule set for your specific workflow.
Once your text is clean, TextPurify lets you download it in four formats — no other free AI text cleaner offers multi-format export. Plain text (.txt) is the most portable option for CMS imports. Markdown (.md) preserves heading structure for static site generators like Hugo or Jekyll. PDF produces a formatted document ready to share. Word (.docx) gives you a clean file for Microsoft 365, Google Docs import, or editorial workflows that require a native document format.
All export processing runs in your browser using client-side JavaScript. Your text is never uploaded to a server, stored in a database, or transmitted anywhere. The only data that persists is your cleaning history and personal stats, which are saved to your browser's localStorage and never leave your device.