How this calculator works
- Step 1Split on spacesWordsAny run between spaces with a letter or digit is one word.
- Step 2Group what you seeCharactersLetters with their vowel signs, accents or emoji modifiers count once.
- Step 3Find the endsSentencesA full stop, ?, !, । or ॥ at the end of a word closes a sentence.
- Step 4Divide by a speedTimeWords ÷ 238 for reading, ÷ 183 for speaking.
Everything happens in your browser. Your text is not uploaded, not stored and not put in the page link; only the two speeds are, so you can share your settings.
Characters as you see them
- Characters on screenThis tool3न + म + स्ते
- Stored code points6Each vowel sign and virama is stored separately.
The tool follows the Unicode rules for “user-perceived characters”. A consonant with its vowel sign, a conjunct joined by a virama, an accented letter or an emoji with a skin tone each counts once.
Browsers built on Unicode older than version 15.1 split some conjuncts, such as स्ते, into two. On those browsers the count can be slightly higher.
Worked example: the sample text
The sample has 19 words over 2 paragraphs, in English and Hindi.
- Time
seconds = words × 60 ÷ words per minute
- Words19
- Characters (with spaces)83
- Characters (without spaces)64
- Sentences (two . and one ।)3
- Reading time19 × 60 ÷ 238 = 4.8 s5 s
- Speaking time19 × 60 ÷ 183 = 6.2 s6 s
Times are rounded to whole seconds only for display. The counts were also worked out by hand and by a separate Python check.
Where the speeds come from
The defaults come from a 2019 review by Marc Brysbaert that pooled 190 studies of adult silent reading in English. It found 238 words a minute for non-fiction and 260 for fiction.
For speaking time, the tool uses the same review’s average for reading aloud, 183 words a minute, from 77 studies. That suits a prepared speech or voice-over better than casual talk.
These are averages for adults reading English. Most adults read non-fiction at 175 to 300 words a minute. Enter your own speed if you know it.
Reading the result
- WordsRuns between spaces. “e-mail”, “₹1,500” and “है।” are one word each.
- CharactersUse this for most form and post limits that count characters.
- Paragraphs and linesA blank line starts a paragraph; each line break starts a line.
- No spaces, no wordsChinese, Japanese and Thai runs count as one word each.
Sentence counts are a guide. A full stop after an abbreviation such as “Dr.” ends a sentence here, so formal text with many abbreviations shows a few extra.
Related text tools
Counting text is often the last step after editing it.
To change capitalisation, use the case converter. The remove duplicate lines tool tidies lists, and the Markdown previewer formats text with headings and links.
Common mistakes
Mistake: Checking a Hindi limit with a counter that counts code points.
Instead: Count characters as they appear, as this tool does.
Mistake: Assuming a form counts spaces the same way.
Instead: Check both counts: with and without spaces.
Mistake: Treating reading time as exact.
Instead: Use it as an estimate; time yourself on a paragraph for your own speed.
Mistake: Pasting private text into an online counter that uploads it.
Instead: Use a counter that runs in the browser, like this one.
Read how we test our calculators, or browse more everyday tools.