Word & Character Counter
Count words, characters, sentences, and paragraphs instantly. Estimate reading and speaking time. Free, browser-based, no server required.
- Runs in your browser
- Your data never leaves your browser
- Free · No Sign-Up
Scan with WeChat to share this tool
Examples, details and FAQ Worked examples, how it compares with other tools, and answers to common questions.
Worked Examples
Tweet Length Check
Paste a draft tweet and check the Characters stat. X (formerly Twitter) allows 280 characters per post. If your count exceeds 280, trim until it fits.
Essay Word Count
Writing a 500-word essay? Paste your draft and watch the Words counter. You can also verify paragraph structure — most essays need at least 4–5 paragraphs.
Speech Timing
Preparing a 5-minute presentation? Aim for roughly 650 words (at 130 wpm). Paste your script and check Speaking Time to see if you’re on target.
Character Counting Standards
Different platforms count characters differently. Some count Unicode code points (so an emoji may be 1 or 2), while others count UTF-16 code units. This tool counts JavaScript string length, which uses UTF-16 code units — the same method browsers and most web platforms use. For the vast majority of Latin, CJK, and Cyrillic text, one visible character equals one count.
How Each Number Is Counted
| Stat | Rule in this tool | Example |
|---|---|---|
| Words | Text split on spaces, tabs, and line breaks | well-being, 3.14, and https://example.com/a are 1 word each; **bold** is 1 word with the asterisks |
| Characters | JavaScript string length (UTF-16 code units), including spaces and line breaks | 👍 counts as 2 |
| Characters (no spaces) | The same, with all whitespace removed | — |
| Sentences | Unicode sentence boundaries (UAX #29), computed by the browser’s Intl.Segmenter. Sentence-ending marks include . ! ? and the full-width 。 ! ?; a period before a lowercase word or inside a number does not end a sentence, and each line break ends one | Dr. Smith agreed. counts 2; The value is 3.14. Next line. counts 2; 今日は晴れです。明日は雨です! counts 2 |
| Paragraphs | Blocks separated by a blank line | — |
| Reading / speaking time | Words ÷ 200 and words ÷ 130 per minute, rounded up to whole minutes; under 1 minute shows < 1 min | 1,000 words → 5 min reading, 8 min speaking |
Other counters can give different numbers for the same text. Microsoft Word, Google Docs, and web counters do not all treat hyphenated words, URLs, Markdown symbols, and code in the same way. When you must stay under a limit, measure with the tool that the reviewer uses.
Limits
- Abbreviations and lowercase starts affect the sentence count.
Dr.before a capital letter counts as a sentence end. A sentence that starts with a lowercase letter or a digit after a period is not counted as a new sentence.…alone does not end a sentence. - Line breaks end sentences. A heading or list item on its own line counts as a sentence, and text with hard line breaks inside sentences (for example, copied from a PDF) shows more sentences than it has.
- Chinese and Japanese text. These languages do not put spaces between words, so a whole paragraph counts as 1 word, and reading time is not useful. Sentence counts work (
。!?end a sentence). Use the character counts for length. - Posts on X. X counts each URL as 23 characters and most CJK characters and emoji as 2 (counting characters), so the X count can differ from the Characters stat here.
FAQ
What counts as a word?
A word is any sequence of non-whitespace characters separated by spaces, tabs, or newlines. Hyphenated terms like 'well-known' count as one word. Numbers like '42' also count as one word.
How is reading time calculated?
Reading time is based on an average reading speed of 200 words per minute (wpm), which is the standard for adult English readers. Speaking time uses 130 wpm, typical for presentations and speeches.
What is the difference between characters with and without spaces?
Characters (with spaces) counts every character in your text including spaces, tabs, and newlines. Characters (without spaces) excludes all whitespace, giving you the count of only visible characters.
Is my text sent to a server?
No. All counting happens in your browser using JavaScript. Your text never leaves your device.