Word Counter
Max 256 KB · Stats update automatically as you type
- Words
- 0
- Characters
- 0
- Characters (no spaces)
- 0
- Sentences
- 0
- Paragraphs
- 0
- Reading time
- 0 min
A word counter answers a handful of concrete questions about a piece of text at once: how many words is it, how many characters (with and without spaces), how many sentences and paragraphs, and roughly how long it takes to read. All of it updates live as you type or paste — there’s no separate “Count” step.
The word count comes from a simple rule: split the text on whitespace and count the non-empty pieces. A hyphenated word like well-known has no space in the middle, so it counts as one word, the way someone counting by hand would treat it; a number like 2026 counts as one word the same way. This whitespace-based approach is the same one nearly every simple word counter uses, and it’s accurate for the common case — English or other space-separated prose. Its one known limitation: languages written without spaces between words (Chinese, Japanese, Thai) don’t split the same way, so a run of such characters counts as a single word rather than one per logical word.
Character counts come in two forms — with spaces and without (whitespace stripped first) — since different limits care about different things: a meta-description limit usually counts every character, while an “actual content” figure is more useful without the padding of spaces.
Sentence counting looks for runs of ., !, or ? and treats each run as one sentence boundary, so an ellipsis (...) or a stacked ?! each count as one, not three. This is a punctuation heuristic, not real language understanding, and it has one specific, known failure mode: abbreviations. A period inside e.g., Mr., or a decimal number like 3.14 reads as a sentence ending and inflates the count. Fixing this fully needs an abbreviation dictionary or a real sentence-boundary model — out of scope for a tool that runs entirely on plain client-side string operations — so treat the sentence count as a close estimate, not an exact figure for text full of abbreviations.
Paragraphs are counted as blocks separated by one or more blank lines; a single line break within a block doesn’t start a new one. Reading time is the word count divided by 200 words per minute (a commonly cited average for adult silent reading), rounded up to the next whole minute.
Everything runs entirely in your browser — no text is ever sent anywhere.
Examples
- Checking a piece against a hard limit — a college application essay capped at 500 words, or a cover letter meant to fit on one page: paste the draft in and watch the word count update live as you trim it down.
- Checking a meta description before publishing — search engines typically truncate around 155-160 characters, so pasting a draft description here and watching the "Characters" stat tells you whether it'll get cut off in search results.
- Estimating how long a blog post takes to read before publishing it, then turning the finalized title into a URL slug with the [Slug Generator](/tools/slug-generator) once the length and pacing feel right.
Frequently asked questions
How exactly is the word count calculated?
well-known has no whitespace inside it, so it counts as one word — the way most people would count it by hand — and a number like 2026 counts as one word too. This is a plain whitespace split, not full language-aware word segmentation, so it undercounts for scripts written without spaces between words (Chinese, Japanese, Thai) — a whole run of such characters counts as a single word rather than one per logical word.How is the reading time estimated?
Why might the sentence count be wrong for my text?
., !, or ? — a repeated run like ... or ?! collapses into one boundary, not three. This has no notion of abbreviations, though: a period inside e.g., Mr., or a decimal number like 3.14 reads as a sentence end and over-counts. Getting this exactly right needs a dictionary of abbreviations or a real language model, which is out of scope for a lightweight, entirely-client-side tool — this is a documented, accepted limitation of the punctuation-based approach, not a bug.