A one-click text cleaner for pasted text
Text copied from a PDF, a Word document, a web page or a chat rarely pastes cleanly. Lines break in the middle of sentences, words are split with hyphens, ligatures like “fi” confuse search, curly quotes and long dashes break code and CSV files, and invisible characters — non-breaking spaces, zero-width spaces, byte-order marks — make text look right while behaving wrong. This text cleaner fixes all of that in one pass.
Start with a preset — Paste from PDF, Paste from Word, Social post or Code comment — or tick exactly the clean-ups you want. Every change is counted, so you can see that 14 curly quotes were straightened and 9 broken lines joined rather than hoping nothing important was lost. Your text never leaves the browser.
How to use the Text Cleaner
- Paste your text into “Text to clean”.
- Choose the preset that matches where the text came from. The cleaned text appears below straight away.
- Fine-tune the options: tick or untick character fixes, markup removal, spacing and capitalisation, and choose how line breaks are handled.
- To hard-wrap the result, enter a width in “Wrap lines at”, for example 72 for code comments or emails.
- Check “What was changed”, then copy or download the cleaned text, or press “Use result as input” to clean it again with other settings.
Text Cleaner features
Presets for real sources
PDF, Word, social posts and code comments each switch on the fixes their text usually needs, and you can adjust any of them.
Counts every change
A list shows how many quotes, dashes, invisible characters, spaces, line breaks and other items were changed, plus characters, words and lines before and after.
Paragraph-aware line joining
Lines are joined into sentences while blank lines between paragraphs and bullet or numbered list items are kept.
Careful with scripts and emoji
Zero-width joiners stay (emoji and many Indian and Persian words need them), accent removal only touches Latin letters, and ©, ® and ™ survive emoji removal.
HTML and Markdown aware
HTML is converted with the browser’s parser — scripts never run — and Markdown bold, italics, headings, links and code marks are removed while link addresses are kept in brackets.
What each preset does
| Preset | Switches on | Typical result |
|---|---|---|
| Paste from PDF | Invisible characters, ligatures, bullets, hyphen rejoin, extra spaces, join lines | “sea-⏎sonal” becomes “seasonal”; one line per paragraph |
| Paste from Word | Invisible characters, straight quotes, hyphens, three dots, bullets, extra spaces, tidy blank lines | Plain ASCII punctuation, “- ” bullets, no stacked blank lines |
| Social post | Markdown removal, invisible characters, extra spaces, capitalisation, tidy blank lines | **bold** and _italic_ marks gone, sentences start with capitals, emoji kept |
| Code comment | Invisible characters, straight quotes, hyphens, three dots, accents, emoji, extra spaces, join lines, wrap at 72 | ASCII-only text that will not break a compiler or a diff |
Worked example: text copied from a PDF
PDFs store text line by line, so a copied paragraph arrives with a line break at the end of every printed line, a hyphen wherever a word was split, and often “fi” and “fl” ligatures that look normal but do not match “fi” in a search. With the PDF preset, “The final report shows that sea-⏎sonal demand rose by 12% in the⏎first quarter.” becomes “The final report shows that seasonal demand rose by 12% in the first quarter.” The change list reports the ligatures split, the word rejoined and the line breaks joined.
Rejoining hyphenated words assumes that a hyphen at a line end followed by a lower-case letter is a printing split. A genuine compound broken at its hyphen, such as “well-⏎known”, will be joined as “wellknown”, so untick that option for text full of compound words.
Good to know
- Capitalisation fixes are for English: they capitalise sentence starts and a lone “i”, and skip abbreviations such as e.g. and Dr., web addresses and names like iPhone.
- “Remove symbols and special characters” keeps letters in every script, digits, spaces and . , ; : ! ? ' " ( ) -; everything else, including ₹, %, # and @, is removed.
- For finer whitespace control see Remove Extra Spaces, and for line handling Remove Line Breaks.
- Converting a whole web page? The HTML Tag Remover has more options for lists, tables and links. To see which hidden characters a text contains before cleaning, use Text to Unicode.
Text Cleaner FAQ
How do I clean up text copied from a PDF?
Paste it into the text cleaner and choose “Paste from PDF”. Line breaks inside paragraphs are joined, words split by hyphens are rejoined, ligatures such as fi become fi, and invisible characters and double spaces are removed, while paragraph breaks and bullet points stay.
How do I convert smart quotes to straight quotes?
Tick “Smart quotes → straight quotes”, or use the Word or Code comment preset. Curly ‘single’ and “double” quotes, low quotes and prime marks become ' and ". The change list shows how many were replaced.
Will cleaning remove my emoji?
Only if you tick “Remove emoji” (the Code comment preset does). Emoji with skin tones, flags and family sequences are removed whole; ©, ® and ™ are kept unless written with the emoji presentation selector.
Can I remove line breaks but keep paragraphs?
Yes. Choose “Join lines, keep paragraphs” under “Line breaks”. Single line breaks become spaces, blank lines between paragraphs stay, and lines that start with a bullet or a number stay on their own line.
Does the text cleaner change the meaning of my text?
It only changes what you switch on, and each kind of change is counted. Accent removal and symbol removal do alter words, so they are off in most presets; compare the before-and-after counts and use “Use result as input” to try again.
Is my text uploaded?
No. The text cleaner runs entirely in your browser; nothing you paste is sent or stored.