Word & Character Counter
Counts update as you type. Your text stays in your browser.
Details
Keyword density
| Word | Count | Density |
|---|
Length limits
How words and characters are counted
- Words are sequences of letters or digits; hyphenated words and contractions (
well-known,don’t) count as one word. Languages without spaces, such as Chinese or Japanese, are segmented with the browser’s built-in word breaker. - Characters are counted as users perceive them: an emoji or an accented letter counts as one character, even if it is made of several code points.
- Sentences end with
.,!or?; paragraphs are separated by blank lines. - Reading time assumes 238 words per minute (average adult silent reading); speaking time assumes 130 words per minute.
Common length limits
| Where | Limit |
|---|---|
| X (Twitter) post | 280 characters |
| SEO title tag | ~50–60 characters (≈ 600 px) |
| Meta description | ~150–160 characters |
| SMS message | 160 characters (GSM‑7), 70 with emoji/Unicode |
| Instagram caption | 2,200 characters |
| LinkedIn post | 3,000 characters |
Why count words?
Essays, articles and job applications often have word limits; ads, meta tags and social posts have character limits. Keyword density helps you spot over-used words and check that a text is about what you intend — aim for natural language rather than a target percentage.
Frequently asked questions
Does the word counter count spaces?
Both are shown: “Characters” includes spaces and line breaks, “Characters (no spaces)” excludes all whitespace.
How is reading time calculated?
Word count divided by 238 words per minute, the average silent reading speed for adults in English. Speaking time uses 130 words per minute.
Are emoji counted as one character?
Yes. Characters are counted as grapheme clusters, so an emoji, a flag or a letter with an accent counts as one. The UTF-8 byte size is shown separately.
Is my text saved or uploaded?
No. Counting happens in your browser. The last text is kept only in your browser’s local storage so it survives a page reload; clear it with the Clear button.