Skip to main content
WC

Word Counter

Live character, word, sentence and paragraph counts, plus estimated reading and speaking time.

Did you like the tool? Thanks!
Share:
Characters (with spaces)
Characters (no spaces)
Words
Sentences
Paragraphs
Reading time
Speaking time

Everything is counted locally in your browser as you type — nothing is uploaded.

How to Use Word Counter

Type or paste text into the box and every count updates instantly as you go: characters with and without spaces, words, sentences, paragraphs, and estimated reading and speaking time. Useful for hitting a word-count target, checking a tweet or meta description fits a character limit, or estimating how long a speech or article will take to read aloud. Everything runs locally in your browser — nothing you type is uploaded.

About Word Counter

Word counts matter more than most writers expect. School and university assignments specify a minimum or maximum word count; job applications cap cover letters at a certain length; SEO meta descriptions and titles have hard character limits before search engines truncate them with an ellipsis; social media posts have platform-enforced character ceilings; and scripts, presentations and podcasts are often budgeted in minutes, which only makes sense once you know how many words that time actually holds. A live counter that updates as you type removes the guesswork and the constant trips to a word processor's status bar. This tool reports seven figures at once. Character count with spaces is the rawest measure — every character you typed, including spaces, tabs and line breaks, counted using JavaScript's Unicode-aware iteration (`Array.from`) rather than raw string length, so accented letters and most emoji count as one character each instead of being miscounted when they are represented internally by two UTF-16 code units. Character count without spaces strips whitespace before counting, which is the number most character-limit fields (like a database column or a tweet, historically) actually care about. Word count splits the text on runs of whitespace and discards empty fragments, so multiple spaces between words never inflate the count and leading/trailing whitespace is ignored. Sentence count looks for `.`, `!` or `?` followed by whitespace or the end of the text, treating each such boundary as the end of a sentence, then discards any resulting empty fragment (which happens, for instance, if the text ends with punctuation and nothing after it). This is a heuristic, not true natural-language sentence segmentation — it does not know that "Dr. Smith" or "e.g." contain a period that is not a sentence break, so texts with many abbreviations will show a slightly inflated sentence count. For the vast majority of ordinary prose, though, this simple rule tracks the real sentence count closely. Paragraph count splits the text wherever there is a blank line (one or more line breaks with only whitespace between them), then discards empty paragraphs, so a document with extra blank lines between paragraphs is not over-counted. A single block of text with no blank lines at all counts as one paragraph, matching how most word processors would report it too. Reading time and speaking time are both derived from the word count using standard, widely cited average rates: 200 words per minute for silent reading, and 130 words per minute for speaking (a natural presentation or podcast pace, slower than reading because speech includes pauses and emphasis that reading does not). Both are shown as a whole number of minutes, rounded up, with a `< 1 min` display when the estimate comes out to less than a full minute — for a 40-word paragraph, telling you "1 min read" would overstate a text that actually takes about 12 seconds to read, so the tool is explicit about sub-minute content instead of always rounding up to a whole minute. Both estimates are averages, not measurements of your specific reading or speaking speed — technical or dense text reads more slowly than casual prose, and a practiced public speaker delivers faster than someone reading unfamiliar material aloud for the first time. Treat the numbers as a useful ballpark for planning (should this blog post be split into two? Will this speech fit in a five-minute slot?) rather than a stopwatch-accurate prediction.

Details & Tips

How each figure is calculated: • Characters (with spaces): `Array.from(text).length` — every Unicode code point in the raw input, including spaces, tabs and newlines. • Characters (no spaces): the same count after stripping all whitespace characters (`\s`) first. • Words: the text is trimmed, split on runs of one or more whitespace characters, and empty fragments are discarded — so " hello world " counts as 2 words, not more. • Sentences: the text is split wherever `.`, `!` or `?` (one or more in a row, to handle `...` or `?!`) is followed by whitespace or the end of the string; empty fragments after splitting are discarded. • Paragraphs: the text is split on blank lines (a line break, optional whitespace, then another line break); empty fragments are discarded, so extra blank lines between paragraphs don't inflate the count. • Reading time: word count ÷ 200 words per minute, rounded up to the nearest whole minute, shown as "< 1 min read" if the raw value is under 1. • Speaking time: word count ÷ 130 words per minute, same rounding rule, shown as "< 1 min" if under a minute. Worked example — the paragraph "The quick brown fox jumps over the lazy dog. It was a sunny afternoon in the meadow!" (two sentences, one paragraph, 16 words, 88 characters with spaces): characters with spaces = 88, characters without spaces = 73, words = 16, sentences = 2, paragraphs = 1, reading time = "< 1 min read" (16 ÷ 200 = 0.08 minutes), speaking time = "< 1 min" (16 ÷ 130 = 0.12 minutes). A second worked example — a 500-word article split into 4 paragraphs, ending each sentence with proper punctuation: words = 500, reading time = 500 ÷ 200 = 2.5, rounded up to "3 min read"; speaking time = 500 ÷ 130 = 3.85, rounded up to "4 min". Limitations to be aware of: sentence detection is punctuation-based, not linguistic, so abbreviations containing periods (Mr., e.g., etc.) will each be counted as if they ended a sentence, slightly inflating the sentence count on text with many abbreviations. Reading and speaking time use fixed average rates (200 wpm / 130 wpm); actual time varies with text difficulty, font size if printed, and the individual reader or speaker. All counting happens client-side in JavaScript as you type — there is no server round-trip, so figures update instantly with no network delay and nothing you type is ever transmitted.

Frequently Asked Questions

Does the character count include spaces?
The "Characters (with spaces)" figure counts every character including spaces, tabs and line breaks. A separate "Characters (no spaces)" figure is shown alongside it for limits that only count visible characters.
How is word count calculated?
The text is split on runs of whitespace and empty fragments are discarded, so multiple spaces between words, and leading or trailing spaces, never inflate the count.
Why does the sentence count seem too high on text with abbreviations?
Sentence detection looks for a period, exclamation mark or question mark followed by a space or the end of the text. It cannot distinguish a real sentence-ending period from one inside an abbreviation like "Dr." or "e.g.", so text with many abbreviations will show a slightly inflated count.
How is reading time estimated?
Word count divided by 200 words per minute (a commonly cited average silent-reading speed), rounded up to the nearest minute. If the result is under a minute, it shows "< 1 min read" instead of rounding up to a full minute.
How is speaking time different from reading time?
Speaking time uses 130 words per minute instead of 200, reflecting that spoken delivery — with pauses, emphasis and natural pacing — is slower than silent reading.
Are these estimates accurate for my specific reading speed?
They are averages, not a measurement of you specifically. Technical or unfamiliar text reads more slowly than casual prose, and speaking pace varies a lot between speakers, so treat the numbers as a planning estimate rather than an exact prediction.
How are paragraphs counted?
The text is split wherever there is a blank line between blocks of text. Extra blank lines between paragraphs do not create extra counted paragraphs, since empty fragments are discarded after splitting.
Does pasting text with emoji or accented characters break the character count?
No. Counting uses Unicode-aware iteration so accented letters (like é or ș) and most single emoji count as one character each, rather than being counted as two due to how they are stored internally.
Is my text uploaded anywhere?
No, all counting happens locally in your browser as you type using JavaScript. Nothing is sent to a server, so it is safe to use on drafts you have not published yet.
Can I use this to check a tweet or meta description length?
Yes, the "Characters (with spaces)" figure updates live and is the number most character-limited fields actually enforce, making it a quick way to check you are under a platform's limit.
Why does an empty textarea show 0 for every figure?
With no text entered, there are no characters, words, sentences or paragraphs to count, so every figure correctly reports zero and the time estimates show "0 min".
Does formatting like bold or italics affect the count?
This tool only sees plain text, not rich formatting, so pasted formatting marks (like Markdown's ** for bold) would be counted as literal characters if present in the pasted text — paste plain text if you want a count that excludes formatting syntax.

Also Available As

word counter, character counter, word count tool, count words online, reading time calculator, speaking time calculator, sentence counter, paragraph counter

Found a Problem?

Let us know if something with Word Counter isn't working as expected.

Thanks — we'll take a look.