A personal statement caps at 1,000 characters, a meta description at 160, a tweet at 280. Limits are everywhere and defined differently — with or without spaces, counting line breaks or not — which is how you end up seeing an over-limit warning right before submitting.
This counter updates live with characters (with and without spaces), words, sentences, paragraphs, lines and UTF-8 byte size. It estimates reading and speaking time, switching between character-based and word-based rates depending on whether the text is predominantly CJK. Keyword frequency analysis helps you check that no phrase has been overused.
How to use
- Enter your text — Type or paste into the input area. Every statistic recalculates as you go.
- Set a target limit — Choose a character limit and a progress bar shows how much remains. Going over turns the bar red and reports the overage.
- Check the timing estimates — Reading time supports the 'x min read' label on a blog post; speaking time helps size a script. The rate used is shown under each figure.
- Review keyword frequency — The table lists the most frequent terms with their share of the text. Excluding stop words leaves only meaningful terms, and raising the minimum length filters out fragments.
Frequently asked questions
Do character limits usually include spaces?
It varies by organisation. Most job application platforms count spaces; some public-sector forms exclude them.
Both figures are shown here so either rule is covered. The most reliable check is pasting into the actual submission field. Remember that line breaks count as characters too, so changing how you break paragraphs shifts the total by a few characters.
How is reading time calculated?
The rate adapts to the script.
When CJK characters make up more than 30% of the text, it is treated as Korean, Chinese or Japanese and counted at 500 characters per minute. Otherwise the English rate of 220 words per minute applies. Speaking rates are 300 characters and 130 words per minute respectively.
These are averages for adult silent reading. Dense technical writing runs slower and light prose faster; for a script, read it aloud and adjust.
Why does byte count matter?
Because database column lengths and API field limits are often defined in bytes rather than characters.
In UTF-8 an ASCII character takes one byte, a Korean or Chinese character three, and many emoji four. A byte-based VARCHAR(100) fills up after 33 Korean characters. SMS has a similar problem: a single non-Latin character switches the encoding and cuts the per-message character allowance sharply.
Concepts worth knowing
Counting words is not universal
English separates words with spaces; many languages do not. Korean 'eojeol' units split further into morphemes, and Chinese and Japanese use almost no spaces at all.
This tool counts whitespace-delimited tokens, which matches ordinary document workflows. Natural language processing that needs morpheme counts requires a dedicated analyser. For scripts without spaces, word counts carry little meaning, which is why reading time falls back to characters there.
Keyword density and SEO
There was once a belief that repeating a keyword at a target percentage improved rankings. It no longer holds — search engines model meaning and context, and forced repetition reads as a quality signal in the wrong direction.
Frequency analysis is still useful for a different reason: checking that your actual subject appears at all, that you have not unconsciously repeated a phrase, and that you have not leaned entirely on pronouns. Treat it as a way to see where the text's focus really sits.
Characters, code points and grapheme clusters
'Character count' is fuzzier than it looks. JavaScript's str.length counts UTF-16 code units, so one emoji counts as two — and a family emoji built from several joined emoji can count as seven or more.
This tool uses Array.from() to count code points, which treats most emoji as one. That still differs from what a reader perceives as a single glyph (a grapheme cluster). Where an exact limit is enforced, verify in the target system itself.