Reading time is minutes = words ÷ words per minute, rounded up. That is the whole model. Everything interesting is in the divisor, because the divisor is an assumption rather than a measurement of your reader.
The best available figures come from a 2019 meta-analysis pulling together around 190 studies of reading rate, and they differ by mode rather than by person:
| Mode | Words per minute |
|---|---|
| Silent reading, non-fiction | about 238 |
| Silent reading, fiction | about 260 |
| Reading aloud | about 183 |
Individual variation around those means is wide, and studies using different texts and tasks land anywhere from roughly 175 to 300 for ordinary adult silent reading. That range is not a rounding detail — it changes the answer substantially:
| A 1,500-word article | Estimated time |
|---|---|
| At 180 wpm | 8.3 minutes |
| At 238 wpm | 6.3 minutes |
| At 300 wpm | 5.0 minutes |
The same text is a five-minute read or an eight-minute read depending purely on a constant nobody sees. Any tool describing its output as accurate is overstating what the arithmetic can deliver; what it delivers is a consistent, comparable estimate, which is genuinely useful and is not the same claim.
With whole-minute rounding up at 238 words per minute, an article of 240 words and an article of 470 words both display two minutes. The label is a bucket, not a measurement, and the buckets are wide at the short end.
This is also why displaying seconds is a mistake. A label reading 6 minutes 43 seconds claims a precision the underlying model cannot support — the divisor is uncertain by twenty percent or more. Whole minutes, or the word about, is the honest presentation.
Counting words treats a page as uniform prose. Real articles are not, and these are the adjustments that matter:
One implementation bug is worth naming because it is so common: counting the whole rendered page rather than the article body. Navigation, sidebar, footer links, author biography and comments can add hundreds of words, inflating every estimate on the site by a minute or more.
The claim that displaying an estimate increases the chance a reader finishes is repeated everywhere, including in the previous version of this page. It deserves to be stated more carefully: there is no published controlled research establishing that effect. Read-time labels became a convention after Medium adopted them around 2014, and the supporting evidence is internal product data rather than anything independently replicated.
The plausible mechanism also cuts both ways. A label reading three minutes lowers the barrier to starting. A label reading eighteen minutes tells a reader on a phone in a queue to come back later, which may mean never. Setting an expectation reduces uncertainty, and it also gives people a reason to decline.
Two secondary effects are worth watching for. Authors start writing to the number, padding a five-minute piece to look substantial or cutting necessary material to stay under a threshold. And readers use the label as a quality proxy, which it is not.
On search: reading time is not a ranking factor, and there is no documented ranking signal for how long visitors stay on a page, despite how often that is asserted. The label is a user-experience decision, not an optimisation.
The estimate describes how long the text would take to read completely. Analytics measure something different — how long a browser tab was open, sampled imperfectly — and the two rarely agree. Widely reported analyses of scroll behaviour suggest most visitors to a long article never reach its halfway point, so a ten-minute estimate and a two-minute average session are both plausibly correct descriptions of the same page.
If your real goal is helping people through long content, a scroll progress indicator does more than a number at the top, because it updates as they go rather than making a prediction at the start.
Languages without spaces. Chinese, Japanese and Thai do not delimit words with spaces, so a word count is either wrong or requires segmentation. Reading rate in those languages is measured in characters per minute, and the two units are not interchangeable — a word-based estimator applied to them produces numbers with no meaning.
Languages with very different word length. German compounds and the long agglutinated forms of Finnish, Turkish and Hungarian pack more meaning into fewer words, so a word-based count understates reading time. Translating an article typically changes its word count by ten to thirty percent without changing what it says, which is enough to move the label a whole minute.
Screen reader users. Many listen at rates well above typical silent reading — several hundred words per minute is common and experienced users go considerably faster. A visual reading-time estimate does not describe their experience of the page at all.
Show a read time on long-form articles where the commitment is real; skip it on short posts, where it adds a number without adding information. Put it near the title where the decision is being made. Count the article body only. Round to whole minutes and prefer about or a range over false precision. Keep the divisor consistent across your site so readers learn what your labels mean, and pick something near 240 for general non-fiction rather than an optimistic 300.
Around 238 words per minute for general non-fiction is the best-supported default. Lower it for technical or academic writing; the exact figure matters less than using the same one everywhere.
Yes, if your articles contain many of them. A per-image allowance and a slower rate for code lines both improve the estimate more than fine-tuning the words-per-minute figure.
No. It is not a ranking factor. It may improve how readers decide, which is a different and better reason to do it.
No. Counting and estimating happen in your browser. Nothing is uploaded, logged or retained, so drafts stay private.
Every tool comes with a written guide, and every category is one click away.