Word Counter
Count words, characters, sentences, and paragraphs in your text. Estimates reading and speaking time. Runs entirely in your browser.
Use this free word counter to instantly see word count, character count (with and without spaces), sentence and paragraph counts, and estimated reading and speaking time for any text. It is built for writers, students, social media managers, and anyone working with length limits or word-count targets.
How to use it
No account, no upload — it all happens on your device.
Common length targets
Where word count actually matters.
| Format | Typical length |
|---|---|
| Tweet / X post | Up to 280 characters (~50 words) |
| LinkedIn post | Sweet spot 150–300 words |
| Blog article (SEO) | 1500–2500 words for ranking content |
| Newsletter intro | 120–250 words |
| School essay | 500–1000 words is common |
| University essay | 1500–3500 words |
| Short story | 1000–7500 words (flash to short) |
| Novella | 17,500–40,000 words |
| Novel | 70,000+ words |
| Conference talk (20 min) | ~2400–3000 spoken words |
| TED talk (18 min) | ~2200–2700 spoken words |
How reading and speaking time are estimated
The numbers come from research averages — your mileage may vary.
Reading time uses 230 words per minute, which is roughly the silent reading speed of an average adult on digital text. Technical or academic material runs slower (150–180 wpm). Light fiction can go to 300+.
Speaking time uses 130 words per minute, a comfortable conversational pace. Podcasters and presenters typically land between 130 and 160 wpm. Auctioneers and fast talkers push past 200 — and lose half the audience.
Tricky cases
- Hyphens."state-of-the-art" is one word here, not four. Some style guides disagree; if your target word count uses a different rule, mentally adjust.
- Numbers."42" counts as a word. Dates like "Jan 5, 2024" count as three.
- Contractions."don't" is one word; "do not" is two. If you're polishing for a specific count, expanding contractions changes the total.
- Code snippets. Anything inside a code block gets tokenised by whitespace just like prose, so
for (let i = 0; i < n; i++)counts as several words. Strip code blocks before counting for prose targets.