Extract sentences from text

Extract sentences splits pasted text on terminal punctuation and lists each sentence on its own line. The match rule is [^.!?]+[.!?]+: a run of any characters that are not ., ! or ?, followed by one or more terminator marks. Each match is trimmed before output. The transform runs in your browser.

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

How sentence splitting works here

The pattern grabs everything up to and including the next run of ., ! or ?. So "Yes!", "Really?" and "OK." are each one sentence. Multiple terminators in a row ("Wait..." or "What?!") stay attached to the sentence they belong to because the pattern allows one or more terminators after the body.

The matcher is shape-based, not language-aware. Common false-positive triggers are abbreviations ("e.g.", "Mr.", "Dr.") which split mid-sentence, and decimal numbers ("3.14") which can split across the dot. If your text has many of these, run find and replace first to mask the dots (e.g. swap "e.g." for "eg") before splitting, then restore them in the output.

A trailing fragment with no terminator is dropped because the pattern requires at least one ., ! or ? at the end. Output is one trimmed sentence per line, with terminators kept. For unique sentences pipe through remove duplicate lines; for paragraph-level splits use extract paragraphs.

How to use extract sentences from text

  1. 1Paste your text into the input panel.
  2. 2The output panel shows one sentence per line.
  3. 3Click Copy to copy the list.
  4. 4Click Download to save it as a plain-text file.
  5. 5For paragraph-level splits, use extract paragraphs instead.

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 sentence here

Splits on ., !, ?

The pattern looks for a run of non-terminator characters followed by one or more ., ! or ?. Other punctuation (commas, semicolons, colons, ellipsis as a single character ) does not split.

Multiple terminators stay attached

"Wait..." and "What?!" keep all their terminators because the pattern is [.!?]+. The trailing dots or marks come through with the sentence.

Abbreviations and decimals can split mid-sentence

"e.g." contains two dots, so the pattern splits there even though it is not a sentence end. Decimal numbers like "3.14" behave the same way. To avoid false splits, mask these with find and replace before extracting.

Whitespace trimmed, terminators kept

Leading and trailing spaces around each sentence are stripped, but the final ., ! or ? stays as part of the sentence text.

Trailing fragment without terminator is dropped

Because the pattern requires a terminator, a closing fragment with no ., ! or ? is not captured. Add a full stop to the end of your input if you need it included.

Worked example

Each terminator marks a split point and stays attached to its sentence. The trailing "No terminator here" is dropped because there is no ., ! or ? at the end.

Input
The quick brown fox jumps. Does it really? Yes! Three short ones.
No terminator here
Output
The quick brown fox jumps.
Does it really?
Yes!
Three short ones.

Settings reference

Behaviour Effect on output
Terminators ., !, ?. Other punctuation does not split.
Multiple terminators All kept on the sentence. "Wait..." stays whole.
Abbreviations e.g., Mr., Dr. can cause mid-sentence splits.
Decimal numbers 3.14 can split on the dot.
Whitespace Leading and trailing spaces are trimmed off each sentence.
Final fragment with no terminator Dropped. Add a . to the end of the input to include it.

FAQ

Why is my sentence splitting at e.g.?
The matcher splits on every ., ! or ?. Abbreviations like e.g., Mr., i.e. contain dots that look like sentence ends. Run find and replace first to swap them for safe placeholders (e.g. -> eg), then restore them in the output if needed.
Will 3.14 split into two sentences?
It can, yes. The dot in a decimal is not distinguished from a sentence terminator. For text heavy with numbers, mask the decimals with find and replace before extracting (e.g. swap \. in \d+\.\d+ for a placeholder).
Are blank lines kept?
No. Each match must contain at least one non-terminator character followed by a terminator, so empty lines are skipped. Use extract paragraphs if you need block-level splits with blank lines as separators.
Are duplicates removed?
No. Every sentence appears in source order. Pipe the result through remove duplicate lines if you want unique sentences only.
Is anything sent to a server?
No. The split runs entirely in your browser.