Counting words sounds unambiguous until two programs give different answers for the same paragraph. The figures are all estimates built on choices, and knowing the choices tells you how much weight to put on each number.
Why counts disagree
Every counter has to decide what a word boundary is. Hyphenated compounds are the usual culprit: state-of-the-art is one word to some tools and four to others. Numbers, times and URLs split differently again, and contractions may or may not count as one.
For ordinary prose the differences are tiny and counters agree almost exactly. They diverge on technical writing dense with identifiers, code and figures — which is worth remembering before treating a limit as exact.
Where reading time comes from
Reading time is simply word count divided by an assumed speed. 200 to 250 words per minute is the usual range for adult silent reading of general prose; 150 is a common figure for reading aloud, because speech is slower than the eye.
The assumption breaks on dense material. Technical documentation, anything with code samples, and text a reader stops to think about all take substantially longer. Treat the estimate as a rough signal of length rather than a measurement.
Keyword density, in proportion
Keyword density is how often a term appears as a share of total words. It was once a genuine ranking signal, which is precisely why it stopped being one: it was trivially gamed, and search engines moved to evaluating meaning rather than repetition.
It remains useful as a writing check. If a piece is meant to be about one thing and that term barely appears, the focus probably drifted. If it appears far more often than reads naturally, the prose has likely become repetitive. Both are editing signals, not targets to hit.
In short
Use counts for length, reading time for rough pacing, and density to spot drift or repetition. None of them is a target worth writing toward.
Word Counter
Count words, characters, sentences and paragraphs as you type, with reading time and keyword density.
Keep reading
Why your link preview isn't showing, and how to fix it
A shared link with no card is nearly always one of five things. How previews are fetched, which tags matter, and why Slack works when WhatsApp won't.
How to read a regular expression without panicking
Regex looks like line noise until you know the four things it is made of. A practical guide to reading any pattern, plus the mistakes that waste the most time.
How to read messy JSON, and fix the errors it throws
Deeply nested API responses are hard to hold in your head. How to navigate JSON structurally, and what the three most common parse errors actually mean.