Skip to content
PithLab

↑↓ to move · Enter to open · Esc to close

AI Text Cleaner: Remove Hidden Characters from ChatGPT

Strip hidden Unicode, em dashes and markdown from AI-written text.

Clean up
Remove markdown
Use via API

Remove hidden characters, smart punctuation and other artefacts from AI-generated text. Send JSON, get JSON back.

POST https://pithlab.com/api/v1/tools/llm-text-cleaner

curl https://pithlab.com/api/v1/tools/llm-text-cleaner \
  -H "Authorization: Bearer $PITHLAB_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input":"Here’s the plan​ — simple, clear."}'

Fields and responseOpenAPI documentGet an API key

About the AI Text Cleaner

Clean text from ChatGPT, Claude or Gemini: strip zero-width and invisible characters, fix odd spaces, straighten quotes, swap em dashes and remove markdown symbols.

How to use the AI Text Cleaner

  1. Paste the text you copied from an AI chat tool.
  2. Choose what to fix: invisible characters, special spaces, quotes, dashes, ellipses and trailing whitespace are on by default.
  3. Tick the markdown options if you want to remove bold markers, headings, bullets or code fences.
  4. Check the summary to see how many of each kind were found, and use Reveal to see where hidden characters were.
  5. Copy or download the cleaned text.

Examples

Hidden characters, curly quote, em dash and ellipsis (default options)

Input

It’s​ ready — ship it…

Output

It's ready, ship it...
Strip markdown (bold, headings, bullets and code options on)

Input

## Summary
- **Fast** setup
- Uses `npm`

Output

Summary
Fast setup
Uses npm
Number ranges and dashes as spaced hyphens

Input

Pages 10–12 — see notes

Output

Pages 10-12 - see notes

Frequently asked questions

Do ChatGPT and other AI tools add hidden watermark characters?

Sometimes AI output contains zero-width spaces, narrow no-break spaces or other invisible characters, whether from the model, the chat app or copy and paste. They are not a reliable watermark, but they can break code, search and word counts. This tool finds and removes them.

Will removing zero width joiners break my emoji?

No. A zero width joiner between two emoji, as in family or profession emoji, is kept, and so are joiners between letters of scripts such as Persian or Hindi where they change how words are shaped. Tag characters that form flags like Scotland are kept too.

What does each em dash option do?

Comma replaces an em dash between words with a comma, so a phrase reads "fast, and cheap". Spaced hyphen gives "fast - and cheap" and Hyphen gives "fast-and cheap". An en dash between two numbers, as in a page range, always becomes a plain hyphen. Keep leaves dashes alone.

What is the Reveal view for?

It shows your original text with every hidden character drawn as a small labelled badge, such as ZWSP or NBSP, so you can see exactly where they were. Hover or focus a badge to see its full Unicode name.

Is my text uploaded anywhere?

No. Cleaning happens in your browser with plain JavaScript, so your text never leaves your device.