Word counter
MDV ToolsType or paste text. The counts follow every keystroke: words, characters, bytes, sentences, paragraphs, and how long the text takes to read or to say aloud.
- Characters
- 0
- Without spaces
- 0
- UTF-8 bytes
- 0
- Sentences
- 0
- Paragraphs
- 0
- Lines
- 0
- Reading time
- —
- Speaking time
- —
| Word | Count |
|---|
Lowercased, two or more characters, top ten. There is no stopword list, so "the" usually wins.
How this works
A word is a run of Unicode letters, digits or combining marks, with apostrophes allowed inside
the run: the regex [\p{L}\p{N}\p{M}]+(?:['’][\p{L}\p{N}\p{M}]+)* with the
u flag. So don't and l'aria are one word each,
well-known is two, and 1492 counts. Scripts written without spaces
(Chinese, Japanese, Thai) come out as one word per unbroken run, which undercounts them; this
tool does not segment those. Characters are graphemes from Intl.Segmenter, so a
flag or a family emoji counts once; if the browser lacks it the row is relabelled "Code points"
and counts those instead. "Without spaces" first removes every \s character.
Bytes are the length of the TextEncoder output, which is UTF-8.
A sentence ends at ., ! or ?, optionally followed by a
closing quote or bracket, when whitespace or the end of the text comes next; a final run of words
with no terminator counts as one more. Abbreviations such as Dr. or
e.g. therefore overcount, and ... counts once. A paragraph is a run of
text between blank lines. Lines are split at \n after \r\n is
normalised, and a trailing newline does not add one. Reading time is words divided by the speed
you set — 238 wpm is the adult mean for silent reading in Brysbaert's 2019 meta-analysis — and
speaking time uses 150 wpm, an ordinary presenter's pace. Both are rounded to the second and
both are estimates for an average reader, not a measurement of you.
The frequency table lowercases each word with toLowerCase, drops words shorter
than two characters, and lists the ten most common, ties broken alphabetically. There is no
stopword list, so articles and prepositions rank first. Input above 2,000,000 characters is
refused rather than attempted, so the tab never hangs. Nothing is uploaded: there is no server
in this file.
The Dark button remembers its setting in this browser's local storage. Nothing you type or drop into the page is stored.