FreeToolsLand

AI Text Cleaner

Strip hidden characters, em dashes and curly quotes from AI output in one pass.

Free, no signup, no limits

Em dash becomes
Clean text8 fixed

Here's the thing, most of this text looks completely normal. It has a "curly quote", a non-breaking space right here, and a zero-width space you cannot see at all. Range: 2019-2026. Paste it anywhere and something breaks...

What an AI text cleaner actually removes

Four kinds of character, and only one of them is visible.

Invisible characters have no width and no glyph: zero-width spaces, byte order marks, soft hyphens, directional marks. You cannot see them, cannot select them reliably, and they still count against a character limit.

Spaces that are not spaces. A non-breaking space renders identically to a normal one and is a completely different character to any parser. It is why a form rejects an address that looks correct, and why a search for a phrase you can see on the page returns nothing.

Curly quotes and apostrophes. Fine in prose, fatal in code, CSV files, JSON, filenames and older systems that expect ASCII.

Em dashes, en dashes and single-character ellipsis. These are the visible ones, and the reason most people arrive here.

Why AI text is full of em dashes

Because the text models learned from was already copy edited. Published prose uses typographic punctuation, so a model trained on it reproduces that style without being asked to.

That makes the em dash a stylistic fingerprint rather than a technical problem. It does not break anything. It just reads as generated, which is why it is the one substitution you get a say in: comma, hyphen, or nothing at all. If the dash is the only thing you want touched, the em dash remover does that on its own and leaves the rest of the text exactly as it is.

What to replace an em dash with

A comma, in most cases. It keeps the pause the dash was making, which is what the sentence was built around.

Use a hyphen when the dash was joining two ideas rather than interrupting one, and nothing at all when the sentence reads fine without any punctuation there.

It is the only thing this tool asks you, because it is the only substitution with more than one right answer. Every other one has exactly a single sensible result: a curly quote has one straight equivalent, an ellipsis is three dots, an invisible character is nothing. There is no decision to surface, so there is no control for it.

The dash positions are handled for you. One opening a line is a bullet and becomes a hyphen whatever you pick, and one ending a line is dropped, because neither is punctuation. That is the part a find-and-replace gets wrong.

How to clean text before you paste it

Paste it on the left and the clean version appears on the right as you type. There is nothing to configure: everything in the list above is fixed on sight. Pick what an em dash should become, then copy.

If you want to inspect the text rather than fix it, the invisible character detector shows every hidden character in place, highlighted where it actually sits. That is the tool for working out why one specific line will not import.

For a post going to LinkedIn, clean it here first, then run it through the character counter. Hidden characters count towards the 3,000 limit, so a post that looks short can still get truncated.

Nothing leaves your browser

There is no server behind this page. The cleaning runs in JavaScript on your own machine, which is why there is no sign-up, no character cap and no queue.

That matters for the text people actually paste in here: drafts, client work, internal documents. The safest place to process it is the computer it is already on.

Frequently asked questions

Something missing here?

If this tool almost does what you need, say what is missing. That is usually how the next version gets built.