Count and inspect sentences
- Paste text and select a language for browser segmentation.
- Use live counting or Count sentences. Review all segments in pages of 20, filter by counting status or your own minimum word count, and find the first longest segment.
- Select a segment to reveal it in the editor, or copy it in full. Editing invalidates the previous review and updates live counts after a pause.
- Download the original text or a labelled count-and-segment summary.
The main count includes native sentence segments containing at least one Unicode letter or number. Empty, whitespace-only, punctuation-only and emoji-only segments do not count. They remain visible as “Not counted” in the preview and summary, and the original remains unchanged. A final unpunctuated phrase with letters counts as one segment.
What the boundaries mean
The browser’s Intl.Segmenter supplies sentence boundaries using the selected locale and its own Unicode data. Abbreviations, initials, decimals, quotes, newlines and mixed languages can produce boundaries different from a human editor’s choices. This tool does not decide grammatical completeness, readability, correctness or translation quality. Inspect the segments when accuracy matters.
Word lengths use native word boundaries, counting word-like segments and segments containing Unicode letters or numbers. This retains Indic words that some browsers incorrectly mark as non-words. The average includes counted sentence segments only.
All native segments are reachable through pagination. Each card previews at most 200 grapheme groups and 1,000 UTF-16 units; unusually large groups use a placeholder. Selection, copying and the full downloaded report retain the complete segment. Segment text is displayed safely as text; pasted HTML never executes. Native segments preserve input whitespace. Unicode text segmentation and Intl.Segmenter specification.
Drafts, import and undo
Live counting waits for a 450 ms pause and defers input-method composition. You can switch it off and count manually. TXT import validates UTF-8, removes an initial BOM and converts CRLF/CR to LF before replacing the editor. Invalid files preserve your current text and review; later edits cancel stale reads. Pastes of at least 10,000 UTF-16 units use one validated replacement. Import, large paste, example and Clear text have a single undo step; typing or changing language discards that replacement undo. Clear text keeps settings.
Privacy and limits
Input stays in memory and a local worker; no uploads, saved drafts or external services. Cancel terminates processing until another edit or manual retry. Clear removes text/results with undo, and editing text or language clears previous results. Maximum 100,000 UTF-16 units and a ten-second timeout. Invalid unpaired surrogates reject to preserve valid Unicode in UTF-8 TXT. Unsupported Intl.Segmenter reports an error; no punctuation-regex fallback. Browser Unicode data can vary. Original TXT has no added heading or normalization; the summary adds labels and includes all segments. Downloaded files remain under your control.
Use the word counter for word-like segments or the character counter for a chosen character/storage limit.