COPIED TEXT

Fix line breaks in text copied from a PDF

A paragraph copied from a PDF may carry a hard return at the end of each printed line. When those returns arrive in an email or document, the paragraph stops flowing naturally. Start by joining wrapped lines while keeping the blank lines that separate your paragraphs.

Have some text ready to go?

Open Remove Line Breaks ↗

Keep the paragraph boundaries

Paste the copied text into Remove Line Breaks. Keep paragraph breaks is enabled by default: single wrapped lines are joined with a space, while blank lines continue to separate paragraphs.

Compare the original and result before copying. If the original contains no blank lines between paragraphs, the tool cannot reliably infer where one paragraph ends and another begins. Add those boundaries in the input first.

Wrapped lines joined, blank-line boundary kept

BEFORE

This paragraph wraps at the
edge of the printed page.

Keep the next paragraph
separate from the first.

AFTER

This paragraph wraps at the edge of the printed page.

Keep the next paragraph separate from the first.

Protect code, lists and headings

Keep code and list lines leaves common Markdown headings, list items, fenced code and indented code on their own lines. This helps preserve structure when a copied passage contains both prose and technical notes.

This recognition is conservative, not a complete document parser. Poetry, addresses and prose without blank-line boundaries may still need manual attention. Turn off both protections only when one continuous block is the result you want.

Review hyphenated words

Join hyphenated line endings is off by default. When enabled, a letter followed by a line-ending hyphen can be joined to a lowercase continuation on the next line. This can repair a wrapped word such as docu- followed by ment.

A genuine compound such as well-known may also be split across a line. Automatically removing its hyphen would change the word. Use the option only when it suits your text, and inspect the joined words afterwards.

Addresses, poetry and columns need a different choice

An address such as Alex Example, 12 Sample Street and Sydney on three lines will become one line under default joining. Poetry can lose its line structure in the same way. Work on prose excerpts rather than passing an entire mixed document through the tool.

Two-column PDF text may paste in the wrong reading order. Joining lines cannot recover that order. Correct the source first; keeping paragraphs only protects boundaries marked by blank lines.

Know what a text cleanup cannot recover

This tool works on pasted text. It does not open PDFs, perform OCR, recover missing characters or reconstruct columns. If a two-column page copies in the wrong reading order, correct that order before joining lines.

References, numbers and punctuation remain your responsibility to check. Copy the result or download a text file once the paragraph flow is right.

Try the behaviour yourself

Wrapped PDF paragraphs

Blank lines preserve paragraph boundaries. Missing paragraph boundaries cannot be inferred reliably.

Input

A paragraph copied from a PDF
can wrap at every printed line.

Keep the next paragraph
separate from the first.

Expected text output

A paragraph copied from a PDF can wrap at every printed line.

Keep the next paragraph separate from the first.
Try this example in the tool →

Optional hyphen repair

This is an intentional counterexample: document is repaired but well-known loses a meaningful hyphen. Review joined words; the option is off by default.

Input

A docu-
ment contains a well-
known example.

Expected text output

A document contains a wellknown example.
Try this example in the tool →

An address is not a paragraph

An address or poem can need every line break. Default line joining cannot identify this intent; keep the original or edit only prose excerpts.

Input

Alex Example
12 Sample Street
Sydney

Expected text output

Alex Example 12 Sample Street Sydney
Try this example in the tool →

Put it into practice.

Your next paste can be a little simpler.

Try Remove Line Breaks ↗