Word Count and Reading Time: How the Numbers Are Actually Counted
A word counter looks like the simplest tool on the internet — paste text, get a number — but "words," "characters" and "reading time" each hide a small rule worth knowing, especially the one that trips people up: a trailing blank line at the end of a list can inflate a line count without changing anything you would notice by eye.
The method: words are whitespace-separated tokens
word count = number of runs of non-whitespace text, separated by any amount of whitespace
Any run of spaces, tabs or line breaks between two chunks of text counts as one gap, however wide it is, and leading or trailing whitespace does not add a phantom word. A hyphenated word or a number with a decimal point counts as one token, because there is no whitespace inside it — only what is not whitespace ever gets counted.
A worked example: "The GG Network — gg to everything."
Split on whitespace: The / GG / Network / — / gg / to / everything. — seven tokens. The spaced em dash is its own token, since whitespace surrounds it on both sides, giving 7 words. Counting every character, including the six spaces: 34 characters total. Remove the whitespace and count only the rest: 34 − 6 = 28 characters without spaces.
Lines: newline count, plus a trailing gotcha
line count = number of segments after splitting the text on line breaks
Splitting "a" newline "b" on line breaks gives two segments, "a" and "b", so two lines — that part is intuitive. What is not: a line break at the very end of the text still splits off one more, empty segment after it. Paste a three-item list with a trailing blank line and the count reads four, not three.
A worked example: a shopping list with a trailing blank line
The text "eggs", line break, "milk", line break, "bread", line break — three items, each followed by a line break. Splitting on line breaks: eggs / milk / bread / (empty) — four segments, so 4 lines, even though there are only three items. The word count is not fooled the same way: whitespace-splitting treats line breaks the same as spaces, so it still finds exactly 3 words. Characters: e-g-g-s (4) + line break (1) + m-i-l-k (4) + line break (1) + b-r-e-a-d (5) + line break (1) = 16 characters, of which 13 are not whitespace.
Reading time: divide by 200, then round
reading minutes = round(word count ÷ 200), minimum 1
200 words per minute is the estimate; dividing gives a fraction of a minute, which gets rounded to the nearest whole minute, with a floor of one minute so a two-word text does not report "0m." The rounding rule matters right at the halfway point: a 700-word piece divides to exactly 700 ÷ 200 = 3.5 minutes, and standard rounding at a .5 boundary rounds away from zero — up, for a positive number — to 4 minutes, not down to 3. A 300-word piece divides to 1.5, which rounds the same way, up to 2 minutes. Neither number truncates toward zero.
The 13-word sentence above divides to 13 ÷ 200 = 0.065, which rounds to 0 — and the floor kicks in, reporting 1 minute rather than zero, since nothing takes literally no time to read.
Why the small rules matter
None of this changes what a word counter is for — a rough length check before publishing, or a character limit before a form rejects it — but the edge cases are exactly where a hand count and a tool's count disagree: a trailing blank line, a spaced dash counted as its own word, a reading time that rounds up instead of down at the midpoint. Knowing the rule means the number is never a surprise.
What the tool adds
The rules above — split on whitespace for words, split on line breaks for lines, divide and round for reading time — are all you need, on paper, to check any of these by hand. The tool's job is just speed and not counting characters one by one: paste the text, and it prints all five figures instantly, entirely on your device.