Check Average Sentence Length: A Worked Draft Comparison
Compare two tested drafts, inspect abbreviation boundaries and save the counting method. Use averages as editing signals rather than targets.
Written by Saurabh Kumar
Founder & maintainer of TextToolbox
- Published:
- Last edited:
Average sentence length is the total word count divided by the number of sentence segments. Use it to locate passages worth reviewing, then inspect the individual sentences. An average cannot tell you whether the wording is clear, the argument is correct or the reader has understood it.
The Sentence Counter adds a sortable breakdown and length distribution. Its default uses Intl.Segmenter with locale en; optional English abbreviation hints can change the boundaries. Keep the same settings when comparing drafts.
The worked examples were checked in Node with ICU 78.2. Browser Unicode/ICU data can produce different boundaries, and mobile and real-browser interaction were not tested.
A complete example you can repeat
Choose Sample or paste:
We ship today. Check the draft before you publish it. Keep the original copy.
Leave English abbreviation hints off. The result is 14 word-like segments across three sentence segments. The average is 14 / 3 = 4.7 words per segment.
The three segments, in original order:
- We ship today. (3 words)
- Check the draft before you publish it. (7 words)
- Keep the original copy. (4 words)
Choose Longest first. The order becomes segment 2, segment 3, segment 1. Original segment numbers remain visible, so sorting does not make you lose the connection to your draft. Source offsets count UTF-16 units from zero, not visible letters.
All three segments fall in the Up to 10 bucket. The live chart and its text equivalent show counts from your input. The bucket boundaries are descriptive choices, not a recommended writing standard.
Compare a revision without chasing a target
Suppose you change the sample to:
We ship today after you check the draft. Keep the original copy.
The revised sample has 12 words across two segments: eight and four. Its average is 12 / 2 = 6.0. The average rose while the total word count fell. Neither number makes the revision automatically better.
Read both versions aloud or ask someone from the intended audience what they understand. Did the revision preserve the sequence of tasks? Does a reader need the separate reminder to keep the original? The useful editing decision comes from the meaning and context.
| Draft | Words | Segments | Average | What changed |
|---|---|---|---|---|
| Original | 14 | 3 | 4.7 | Three separate instructions. |
| Revision | 12 | 2 | 6.0 | The check is incorporated into the shipping instruction. |
en segmentation method with abbreviation hints off. These are two synthetic drafts, not an ideal-length target or a readability ranking; both complete drafts remain selectable above.Check boundaries before trusting the denominator
A period can end a sentence, mark an abbreviation or appear in a number. Unicode's sentence-boundary guidance explains why plain text alone cannot settle every ambiguous case. Intl.Segmenter provides locale-sensitive segmentation, not a grammar or comprehension judgment.
Try Dr. Patel left. Next task. with hints off and on. In the tested runtime, default segmentation gives three segments; hints merge the boundary after Dr., giving two. This is useful when the title belongs to the following sentence, but the same kind of suppression after etc. can hide a genuine ending. Inspect the breakdown rather than assuming hints always improve the result.
The default also counts an unfinished final fragment when it contains a letter or number. For example, Hello. Unfinished ending has three words and two segments in the tested runtime. Punctuation-only segments do not count. Line breaks may affect boundaries; the tool does not assume that every visible line is a complete sentence.
Ellipses, quotation marks and private-use characters remain in the original source slices. No placeholder character is inserted into your draft. Sentence text can include trailing whitespace; keep the full input because the displayed list excludes segments containing no letters or numbers.
What the other metrics do and do not mean
UTF-16 units, code points and grapheme clusters count different aspects of text. They are useful for explaining why an apparent character occupies multiple units. They do not certify a social-platform limit or SMS segment length. The Text Stats tool provides the same labeled units in a compact summary.
Unique words compare lowercased word-like segments. No stemming or Unicode normalization is applied, so inflected words and differently encoded spellings can stay distinct. Paragraphs are nonempty blocks separated by blank lines. Line counts recognize CRLF, LF and lone CR, including a blank line after a terminal ending.
Reading and speaking estimates use fixed assumptions of 200 and 130 words per minute, rounded up to whole minutes. A 14-word draft shows one minute for each; that is rounding, not a measurement. The counter does not provide a Flesch score or a comprehension grade.
Save the method with the result
Copy Stats includes the counting method, hint setting, units, time assumptions and bucket counts. Copy Breakdown follows the chosen order and includes original segment numbers and source offsets. If clipboard access fails, use the selectable summary or breakdown. Text, hint and sort changes clear stale feedback.
Keep the original and revised drafts, plus your settings, if you need a repeatable comparison. Use the Word Frequency Counter to inspect repetition, but read each occurrence in context before replacing it. Sentence length and word repetition are useful signals; neither should become a mechanical editing target.
Recommended articles
Productivity
Random Words or Paragraph Filler: Choose and Check Your Output
Compare actual word-list controls and paragraph filler. Follow controlled examples, inspect sampled results and understand Copy, dictionary and randomness limits.
Productivity
Extract Emails and URLs: Preserve Text and Review the Results
Two worked extraction examples with exact domain filtering, preserved spelling, URL transformation choices and syntax limits.