Pasted text drags its old layout along with it. A block lifted out of a PDF arrives with a hard line break every 70 characters or so. One copied from an email arrives with three blank lines between paragraphs and a stray trailing space on every line. Paragraph Formatter offers five modes, each aimed at a different flavour of that mess.
Normalize is the one to reach for when you cannot tell what is wrong. It collapses any run of two or more spaces to one, trims both ends of every line, squeezes three or more consecutive newlines down to a single blank line, and trims the document. The remaining four are single-purpose. Single Line joins everything with spaces, Trim Lines touches nothing but leading and trailing whitespace, Remove Empty deletes blank lines outright, and Double-Space rebuilds the text so exactly one blank line separates each paragraph.
A counter above the input reports the character count, and a green -142 chars badge appears over the output the moment formatting removes anything, so the size of the cleanup is visible before you copy it. Both panes are ordinary textareas on the page and no text is posted to a server.
What Each Mode Does to Your Line Breaks
- Normalize keeps paragraph structure. Two blank lines become one, and a single newline inside a paragraph survives untouched.
- Single Line destroys it. Every line is trimmed, empty ones are dropped, and the rest are joined with one space, so a 40-line document comes back as a single line.
- Trim Lines preserves blank lines exactly, including a run of five. It removes whitespace at the two ends of each line and nothing else.
- Remove Empty is the mirror image: every line keeps its indentation, and every blank line disappears.
- Double-Space splits on existing blank lines, trims each block and rejoins them with one blank line. It normalises uneven gaps rather than inserting breaks where none existed.
What Happens When the Text Is Already Tidy
- Running Normalize over clean text returns it byte for byte, and the character badge stays hidden because it renders only when the difference is above
0. - A tab counts as whitespace for the trim but not for the two-or-more-spaces rule, so a tab-indented code block keeps its inner tabs under Normalize and loses the ones at the start of each line.
- Normalize and Single Line both trim the whole document, so a deliberate leading blank line used for spacing will not survive either of them.
- A line holding only spaces reads as empty to Single Line and Remove Empty, which both test the trimmed length, yet reads as content to anything counting raw newlines.
- A non-breaking space is whitespace to every mode here, so a run of them collapses exactly like ordinary spaces. Curly quotes and emoji pass through untouched; only layout moves.