Text Cleaner
Clean messy pasted text in one pass. Straighten smart quotes and curly apostrophes, fix fancy dashes, strip blank lines and hidden characters, and see exactly what changed.
- Free, no account
- No watermark
- No usage limit
About the Text Cleaner
You pasted a paragraph out of Word, or a reply out of an AI chat, and something looks off. The quotes came out curved instead of straight, and a dash got long. Then you drop that text into a code editor, a form field, or a spreadsheet and it breaks in a way that makes no sense, because half of what rode along is invisible. That is what this text cleaner is for. Paste your text and it straightens smart quotes and curly apostrophes, turns fancy dashes back into a plain hyphen, and strips out the non-breaking spaces and zero-width characters that a basic cleanup never catches.
And it shows you what it found, which most tools skip. Instead of a silent scrub where you just hope it worked, you get a plain count of every smart quote, hidden character, and stray space in your text, and you can reveal them right in place to see the ones you cannot. It all runs in your browser, so nothing you paste is uploaded or saved. That is exactly why it is fine to clean up a password, an API key, or a private note without handing it to someone's server.
How to use
- Paste your text into the box, drop a .txt file onto it, or use Choose a text file to pick one. The cleaned version appears right below and updates the moment you type or flip a switch, so there is no button to press.
- Read the report. It lists what it found (smart quotes, curly apostrophes, non-breaking spaces, hidden characters) with a count for each. If that count is higher than what you can actually see on screen, something invisible is in there.
- Turn on "Reveal them in the text" to mark every one in place. Amber dots are non-breaking spaces, red dots are the zero-width characters, and the shaded quotes and dashes are the fancy ones.
- Leave the default fixes on for a normal paste. Straighten quotes, simplify dashes, fix non-breaking spaces, remove hidden characters, and collapse repeated spaces all start switched on, which handles the usual mess.
- Copy or download. "Copy result" grabs the clean text, "Download .txt" saves it to a file, and "Clear" empties the box so you can start fresh.
Why curly quotes and hidden characters wreck your text
The quotes are what people hit first. Word, Google Docs, and most chat tools auto-replace your straight quote with a curly one as you type, because it looks nicer in finished prose. Paste that into code and the compiler does not recognize the character, so a string that looks perfect throws a syntax error and you sit there re-reading a line that is spelled exactly right. Same story with an em dash where you meant a hyphen, or the single ellipsis glyph where you typed three dots. In a data import, a JSON value, a URL, or a config file, none of those belong, and every one of them started life as a helpful auto-correction. Straightening them puts the text back to plain ASCII, which is what a machine actually expects to read.
The invisible characters are the nastier half, because you cannot see them to know they are there. A non-breaking space looks exactly like a normal gap, so an API key copied out of an email can carry one in the middle and fail with a flat "invalid" that points nowhere near the real cause. A zero-width space has no width at all, so two values that render identically on screen will never compare as equal, and you will swear up and down they are the same. A byte-order mark tends to ride in at the very start of text copied off a web page. This tool treats those two groups differently on purpose. A non-breaking space becomes a regular space, so your spacing still reads the way you meant it. The truly invisible ones (zero-width characters, the byte-order mark, soft hyphens) get deleted outright, since there is no width to keep. There is a third group that gets its own row, the blank characters that still take up space. A Hangul filler or a blank braille cell paints nothing and Unicode files it as a letter, which is precisely why people paste one into a name field that refuses to stay empty, and why a cleanup that only looks for spaces walks right past it. The hidden count is where the problem shows itself. Run a value you were sure was spotless, and if it comes back higher than zero, you just found the bug.
Plain whitespace has its own switches too, the doubled spaces, blank lines, and ragged line ends, though if that is all you need our whitespace remover is the more focused pick. One caution for code: leave trim and collapse off so you do not flatten indentation that matters in Python or YAML, and lean on straighten quotes and remove hidden characters instead. Those two fix the error-causing characters without reflowing a single line.
Frequently asked questions
What is the difference between smart quotes and straight quotes?
Straight quotes are the plain ' and " on your keyboard. Smart quotes (also called curly or typographic quotes) are the angled versions a word processor swaps in automatically, with a separate opening and closing shape for each. They look better in a printed document, but they are different Unicode characters, so anything built for plain quotes treats them as unknown symbols. This tool converts every curly variant back to its straight equivalent, including the curly apostrophe, which is the one that quietly ruins contractions like "don't" the moment you paste them out of a doc.
Does it remove emojis or accented letters?
No, and that is deliberate. Accented letters like the e in cafe or the n in jalapeno are real content, so stripping them would corrupt names and anything not written in English. Emojis are left in place for the same reason. This cleaner goes after the punctuation and the invisible formatting characters that cause trouble, not the letters and symbols you meant to keep. If you specifically want emojis gone, a dedicated find and replace is the better fit.
Why does the character count drop after cleaning even though nothing looks different?
Because it removed things that had no visible width. A zero-width space, a byte-order mark, or a soft hyphen takes up a slot in the character count while showing nothing on screen, so deleting a few of them shrinks the count without changing what you read. That gap between the before and after number is often your first clue that hidden characters were riding along in the first place.
Is any of my text sent to a server?
No. All of the cleaning happens on your own device, so nothing you paste is uploaded, stored, or logged anywhere. Close the tab and whatever you had is gone with it. That local-only design is the reason it is safe for passwords, tokens, and private text you would never want to hand to a random website.
Is there a limit on how much I can paste?
No fixed cap. A single line or a long document both work the same way. The reveal preview trims to the first several thousand characters so it stays quick to render, but the actual cleaning, the copy, and the download all cover everything you paste, so nothing is cut from the result.