Extract paragraphs from text

Extract paragraphs splits pasted text on blank lines and lists each paragraph as a separate block. The split rule is (?:\r?\n){2,}: two or more line breaks, with CRLF or LF accepted. Each block is trimmed and empty blocks are dropped, then the remaining paragraphs are rejoined with a single blank line between them. The transform runs in your browser.

Input
Line 1:1 LF cloud_done Saved locally
Result Extract Paragraphs
0 lines 0 chars

How paragraph splitting works here

The split is on blank lines, defined as two or more consecutive line breaks. A single line break inside a paragraph (a soft wrap) is preserved; only a fully blank line ends the paragraph. CRLF and LF are both accepted, so files saved on Windows, macOS or Linux all behave the same.

Each paragraph is trimmed of leading and trailing whitespace, including stray spaces left after the line break. Runs of three or more blank lines collapse into a single separator because the empty trimmed blocks are filtered out.

Output is paragraphs in source order, separated by exactly one blank line. Soft-wrapped lines inside each paragraph are kept as written. For sentence-level splits use extract sentences; for word-level use extract words; to count paragraphs run paragraph counter on the original text.

How to use extract paragraphs from text

  1. 1Paste your document into the input panel.
  2. 2The output panel shows each paragraph, separated by one blank line.
  3. 3Click Copy to copy the result.
  4. 4Click Download to save it as a plain-text file.
  5. 5For sentence-level splits, use extract sentences.

Keyboard shortcuts

Drive TextResult without touching the mouse.

Shortcut Action
Ctrl FOpen the find & replace panel inside the input Plus
Ctrl ZUndo the last input change
Ctrl Shift ZRedo
Ctrl Shift EnterToggle fullscreen focus on the editor Plus
EscClose find & replace, or exit fullscreen
Ctrl KOpen the command palette to jump to any tool Plus
Ctrl SSave current workflow draft Plus
Ctrl PRun a saved workflow Plus

What counts as a paragraph here

Blank line as separator

Two or more consecutive line breaks split the text. A single line break inside a paragraph is treated as a soft wrap and stays inside the paragraph.

CRLF and LF both accepted

The split rule is (?:\r?\n){2,}, which matches Windows-style \r\n\r\n and Unix-style \n\n equally. The output uses \n\n as the separator.

Each paragraph trimmed

Leading and trailing whitespace on each paragraph is stripped. Internal whitespace and soft line breaks are preserved.

Empty blocks filtered out

Three or more consecutive line breaks would otherwise yield empty paragraphs. The empty blocks are dropped, so the output always has exactly one blank line between non-empty paragraphs.

Order preserved

Paragraphs appear in source order. Duplicates (a repeated paragraph) are kept; for a unique list, pipe through remove duplicate lines after first joining each paragraph onto a single line.

Worked example

The soft-wrap inside the first paragraph is kept. The four-line gap before the third paragraph collapses to a single blank line because empty trimmed blocks are dropped.

Input
First paragraph spans
two soft-wrapped lines.

Second paragraph here.



Third paragraph after extra gaps.
Output
First paragraph spans
two soft-wrapped lines.

Second paragraph here.

Third paragraph after extra gaps.

Settings reference

Behaviour Effect on output
Separator Two or more consecutive line breaks. Single line breaks are soft wraps.
Line endings CRLF and LF both accepted. Output uses LF (\n\n) between paragraphs.
Trimming Each paragraph has leading and trailing whitespace stripped.
Multiple blank lines Collapse to a single blank line in the output.
Soft wraps inside paragraph Kept. Single \n stays as a line break within the block.
Order and duplicates Source order kept, duplicates kept.

FAQ

My paragraphs are not splitting. What's wrong?
The split needs at least one blank line between paragraphs. If your source uses a single line break per paragraph (no blank line in between), the whole text is treated as one paragraph. Run find and replace first to insert blank lines, or use extract sentences for sentence-level splits.
Are soft line breaks inside paragraphs preserved?
Yes. A single \n or \r\n inside a paragraph is kept as written. Only two or more consecutive breaks are treated as paragraph separators.
Will runs of blank lines (3 or more) leave empty paragraphs?
No. Empty trimmed blocks are filtered out, so any run of blank lines collapses to exactly one blank line in the output.
How do I get one paragraph per line for piping into other tools?
Run find and replace after extracting: replace every single newline with a space, then every double newline with a single newline. The result is one paragraph per line.
Is anything sent to a server?
No. The split runs entirely in your browser.