The Practical Text Cleanup Checklist for Writers and Editors
Clean copied text in this order: keep the original, get to plain text, remove leftover markup, repair line breaks, tidy whitespace, remove invisible characters, settle typography for the destination, deal with lists, then read it through and check it where it will be published. The order matters because each step changes what the next one sees: delete blank lines before joining wrapped lines, for example, and your paragraphs merge.
The steps below name the exact setting for each stage in the Text Cleaner or in Remove Line Breaks. If you only want the list, it is near the end, ready to copy.
Before you clean
0. Keep an untouched copy
Save the original, or leave the source document open. Some cleaning cannot be reversed by eye: once two paragraphs are joined, nothing in the text says where the boundary was.
If the material is confidential or embargoed, decide now where it may be pasted. Checking whether an online text cleaner is private explains what to look for.
1. Get to plain text
If the destination has its own styles, as a CMS, an email template or a typesetter does, the source’s fonts and colours are not worth keeping. Paste into a plain-text editor, or straight into the Text Cleaner, whose input box holds plain text only.
Then pick the preset that matches the source: PDF Copy, Word / Docs, Plain Text, AI Formatting, or General Clean if you are not sure. What a text cleaner is explains what the presets will and will not touch.
Mechanical cleanup
Set up steps 2 to 5 together and press Clean Text once. The tool applies its steps in a fixed order, whatever order you tick them in, and that order, listed on the how it works page, handles interactions you would otherwise have to remember. A soft hyphen at the end of a line, for example, is used to rejoin the word before it is removed. Remove soft hyphens in one pass and join lines in the next, and the word is left in two pieces.
2. Remove leftover markup
Markup comes first because removing it creates whitespace: a stripped <br> leaves a line break, and a decoded leaves a non-breaking space.
For HTML, tick Strip HTML tags and Decode HTML entities. For Markdown, tick Remove Markdown heading markers, Remove Markdown bold/italic markers and Remove Markdown code fences. The Plain Text preset turns on all five. AI Formatting turns on the three Markdown ones.
Skip this step if the destination renders Markdown and you want it kept. Links, images, tables and blockquote markers are not rewritten by any option, so add them to your list for step 8.
3. Repair line breaks and paragraphs
If every line stops short of the margin, the text is hard-wrapped. In Remove Line Breaks, choose Keep paragraph breaks, or tick Fix common PDF copy problems, which selects that mode and also trims each line, collapses repeated spaces, converts non-breaking spaces and removes soft hyphens. In the Text Cleaner, the equivalent is Join wrapped lines but preserve paragraphs.
Joining recognises a paragraph only by the blank line after it. If the source marks paragraphs with an indent instead, add a blank line at each boundary by hand first. If the line breaks are the content, as in verse, addresses or code, stay on Keep line breaks unchanged.
Rejoin words hyphenated across lines is a heuristic that applies only while lines are being joined. If you turn it on, add hyphenated compounds to your list for step 8.
4. Tidy whitespace
General Clean covers the usual cases: it converts non-breaking spaces, trims trailing spaces, collapses repeated spaces, reduces runs of blank lines to one and trims the start and end of the text.
Trim each line removes indentation, so leave it off for code and indented quotations. Tabs → spaces turns each tab into one space, so leave it off for tab-separated data. Avoid Remove empty lines on prose: it deletes the blank lines that separate your paragraphs.
5. Remove invisible characters
Under Characters, tick Remove zero-width spaces, Remove byte order marks, Remove soft hyphens and Remove control characters. The Word / Docs preset turns on all four. Leave Remove ZWJ / ZWNJ off, because emoji sequences and several writing systems depend on those characters.
Do this even when the text looks fine. Invisible characters show up later as a search that fails or a character count that is too high. General Clean and AI Formatting leave them in place: under AI Formatting, a zero-width space in front of a heading is still there after the # has gone.
A short passage after steps 2 to 5
In this example · marks a trailing space and [NBSP] marks a non-breaking space (U+00A0).
Before
## Spring opening hours··
The garden is open **every day** between
March and October, includ-
ing bank holidays.
Last entry is at 4.30[NBSP]pm.
After
Spring opening hours
The garden is open every day between March and October, including bank holidays.
Last entry is at 4.30 pm.
The settings were the AI Formatting preset with Join wrapped lines but preserve paragraphs and Rejoin words hyphenated across lines. Notice that the heading is now an ordinary line. Step 8 picks that up.
Decisions that depend on the destination
6. Settle quotes, dashes and ellipses
This comes after the mechanical steps because it is the only one that changes characters a reader sees, and the right answer depends on where the text is going.
For prose that people will read, keep curly quotes and real dashes, and leave the Typography options off. Your job is consistency: search for " and ' to find straight ones mixed in with curly ones. The Text Cleaner converts in one direction only, from smart to straight, so curling a straight quote is a job for your word processor or publishing system.
For code, configuration and data, tick Smart quotes → straight quotes and Smart apostrophes → straight apostrophes. Add En dash → hyphen, Em dash → hyphen and Ellipsis character → three periods if the destination accepts only ASCII. Smart quotes versus straight quotes goes through the cases.
| Destination | Line breaks | Quotes and dashes | Markup | Check at the end |
|---|---|---|---|---|
| CMS or blog | One blank line between paragraphs, none inside them | Curly, and consistent | Strip HTML. Strip Markdown unless the editor renders it | Preview at desktop and phone width |
| Paragraph breaks only. Let the mail program wrap the lines | Curly is usually fine | Strip HTML and Markdown | Send a test to yourself | |
| Print or manuscript | As the publisher’s guidelines ask | Curly quotes, real en and em dashes | None | Proof against the style sheet |
| Code or config | Unchanged, indentation kept | Straight quotes, hyphens, three periods | Remove Markdown code fences only | Run or validate the file |
| Spreadsheet | One record per line, tabs kept between columns | Straight, if quotes delimit fields | None | Row count and a test lookup |
For code, use the single code-fence option and not the whole AI Formatting preset. Code inside a fenced block is left alone, but outside one a # comment at the start of a line is read as a Markdown heading, and the underscores in a name such as __init__ are read as bold markers.
7. Deal with lists and duplicates
If the destination supplies its own bullets, tick Remove Markdown list markers, or you will get a bullet followed by a literal hyphen. It works in the same pass as line joining: each item stays on its own line and loses its marker. The option removes -, *, + and number markers. A typographic bullet such as • stays, and Find & Replace can delete it.
For real lists, such as tags, keywords or references, Remove duplicate lines keeps the first occurrence of each line and preserves the order. Run it on the list alone: in prose, a repeated line such as a refrain is content, and it would lose its second appearance.
Checks a tool cannot do
8. Read it through
- Hyphens. Search for a hyphen followed by a space. It finds words left split when lines were joined, such as
infor- mation. If you used the rejoin option, look for the opposite error, a compound that lost a real hyphen, such aswellknown. - Headings. With its marker removed, a heading is just a short line. Check that each one still stands alone, and apply heading styles in the destination. A heading with no blank line beneath it will have been joined to the paragraph that follows.
- Numbers and units. Check ranges, decimals, dates and currency amounts. A footnote marker copied from a PDF is ordinary text to the tool and can end up attached to a word.
- Links. Stripping HTML removes the tag that held the address and leaves only the link text. Markdown links stay as literal
[text](url). Either way, rebuild each link in the destination. - Special characters and names. Confirm that accented letters, currency signs, symbols such as
°and×, and emoji came through, and check capitals, hyphens and apostrophes in names.
If one particular symptom is puzzling you, the list of copy-paste formatting problems is quicker than rerunning the whole routine.
9. Check it in the destination
Paste the result where it will live and look at it there, using the check in the last column of the table in step 6. When something is wrong, fix it in the cleaned text and paste again, so your clean copy stays the reference.
The checklist to copy
TEXT CLEANUP CHECKLIST
[ ] 0. Original saved somewhere untouched
[ ] 1. Working on plain text; preset matches the source
[ ] 2. Leftover HTML and Markdown removed (or kept on purpose)
[ ] 3. Wrapped lines joined; paragraphs still separate
[ ] 4. Extra spaces, tabs and blank lines tidied
[ ] 5. Invisible characters removed (ZWJ / ZWNJ left alone)
[ ] 6. Quotes, dashes and ellipses match the destination
[ ] 7. List markers and duplicate lines dealt with
[ ] 8. Read through: hyphens, headings, numbers, links,
special characters, names
[ ] 9. Pasted into the destination and checked there
This guide was drafted with AI assistance and reviewed by the publisher. See the editorial policy for how guides are written and corrected.