Sentence Splitter

Split any text into one sentence per line. The rule-based detector keeps abbreviations, initials, decimals, list markers and quoted speech from breaking a sentence in the wrong place. Numbered, blank-line-separated or JSON output with word and character counts. Runs entirely in your browser, no upload, no sign-up.

Try:
Sentences

About this tool

Sentence Splitter breaks a block of text into its individual sentences — one per line, ready to paste into a spreadsheet, a translation memory, a subtitle file, or a review pass over a long document.

Splitting on every . gets it wrong almost immediately. This tool uses a rule-based boundary detector that leaves these alone:

A period followed by a lowercase word is treated as mid-sentence, and the full-width terminators , and are recognised too.

Worked example — paste this in:

Dr. Green paid $99.99 for it. It arrived on Mar. 3 and works fine.

and with the default settings you get:

Dr. Green paid $99.99 for it.
It arrived on Mar. 3 and works fine.

Output format picks how the list is rendered: one sentence per line, a numbered list, a blank line between sentences, or JSON — which adds a total count plus an index, words and characters figure per sentence.

Line breaks decides what a newline means in your input. Only a blank line ends a sentence (the default) is right for wrapped prose. Never end a sentence joins hard-wrapped lines back together and relies on punctuation alone. Always end a sentence treats every line as its own sentence, which is what you want for lists, subtitle cues, and text with no punctuation at all.

Minimum sentence length drops fragments shorter than the given number of characters, and Extra abbreviations lets you add your own never-split terms — handy for company suffixes (Corp., Ltd.) or a domain's jargon.

Everything runs locally in your browser as WebAssembly: your text is never uploaded. Input is capped at 500,000 characters and the minimum-length filter at 10,000.

FAQ

How does it know that "Dr." is not the end of a sentence?

It carries a built-in list of titles and abbreviations that never end a sentence (Mr., Mrs., Dr., Prof., Rev., e.g., i.e., cf., vs. and more), plus a second list that only suppresses a break when a number follows (No. 5, Fig. 2, Vol. 3, Ch. 7). On top of that, a period between two digits is never a boundary, a single letter before a period is read as an initial, and a lowercase word after any terminator means the sentence is still going.

My text uses an abbreviation the tool splits on. Can I fix it?

Yes — put it in Extra abbreviations. Entries can be separated by commas, semicolons or spaces, the trailing period is optional, and matching is case-insensitive, so Corp., Ltd, Inc. all work. They are merged into the built-in never-split list for that run.

What is the difference between the three line-break modes?

Only a blank line ends a sentence (default) treats a single newline as a space and a blank line as a hard break — correct for normal paragraphs. Never end a sentence ignores newlines entirely, so hard-wrapped text is rejoined and only punctuation splits it. Always end a sentence breaks on every newline, which is the right choice for bullet lists, subtitle cues, or any text where each line is already one sentence.

Does it use an AI model?

No. It is a deterministic rule-based detector compiled to WebAssembly, so the same input always produces exactly the same output, offline and instantly. The trade-off is that a genuinely ambiguous case — an unknown abbreviation followed by a capitalised word — can still be split in the wrong place. Adding that abbreviation to Extra abbreviations fixes it.

Can I get sentence and word counts?

Choose the JSON output format. You get {"count": N, "sentences": [...]} where each sentence carries its 1-based index, the text, a words count (whitespace-separated) and a characters count (Unicode characters).

Does it work on languages other than English?

Partly. The abbreviation lists are English, but the core rules — terminator runs, closing quotes and brackets, decimals, lowercase continuation — apply to any Latin-script text, and the full-width terminators , and used in Chinese and Japanese are split correctly without needing a following space. Languages whose sentence boundaries do not rely on those marks are out of scope.

Developer & Automation Access

Run it from the terminal

Same engine as this page, headless — via the gizza CLI:

gizza tool sentence-split 'Dr. Green paid $99.99 for it. It arrived on Mar. 3 and works fine.'

New to the CLI? Get gizza →

Open it by URL

Pre-fill and auto-run this tool with query parameters — the names match the API/CLI:

https://gizza.ai/tools/sentence-split/?text=Dr.%20Green%20paid%20%2499.99%20for%20it.%20It%20arrived%20on%20Mar.%203%20and%20works%20fine.&format=lines&newlines=paragraph&trim=true&min_chars=0&extra_abbreviations=Corp.%2C%20Ltd.%2C%20Inc.

Machine-readable descriptor: tool.json — title + parameters JSON Schema for agents.