Character Counter
Count characters the way people actually read them: emoji, flags and accented letters count as one. With and without spaces, plus platform limit meters. Runs locally, nothing uploaded.
How counting works (spec v1)
- Words are locale-aware word segments: punctuation and emoji are not words, numbers like 3.50 count as one, contractions (don't) count as one, hyphenated compounds (follow-up) count as two, and a URL or email address counts as one.
- Characters are what you perceive: a family emoji, a flag or an accented letter counts as 1. Code points, UTF-16 units and bytes are in Detailed statistics.
- Sentences use locale-aware boundaries with abbreviation handling, so Dr., e.g. and $3.50 do not split.
- Paragraphs are blocks separated by a blank line. Line counts are in Detailed statistics.
- Density uses the same words as the headline count, phrases never cross a sentence boundary, and filters change what is listed, never the percentages.
Reading time uses 238 words per minute, speaking time 130 words per minute.
Detailed statistics
*English-language estimate. For a full report use the Readability Checker.
X's own rules: every link counts as 23, emoji and CJK count as 2.
Hard limit 2,200 characters; only about the first 125 show before "more".
Guidance, not a limit: Google truncates by pixel width per device. Check the SERP preview.
No fixed limit exists; snippets are truncated to fit and often rewritten.
Keyword density checker
Density is each phrase's share of ALL words in the text (the same word count as the headline). Filters and the English stopword list only change which phrases are listed, never the percentages. Phrases never bridge two sentences.
Type or paste text above to see your top words and phrases.
Very long text: phrases are computed from the first 200,000 words.
Why character counters disagree, and which number to trust
"Character count" hides three different definitions. Raw JavaScript length counts UTF-16 code units: cheap to compute and wrong for anything beyond basic text, because one emoji can register as 2 to 11. Code points fix surrogate pairs but still split flags and family emoji. Grapheme clusters, what this page shows, match human perception: one flag is one character. When a form rejects your text at "500 characters", it is usually validating code units server-side, which is why the Detailed statistics section here shows every definition side by side; compare its UTF-16 number against the form\'s complaint and you will know exactly what to trim.
For platform-specific rules, use the dedicated meters: X counts by its own weighting system, Instagram caps captions at 2,200 characters, and Google truncates search snippets by pixels rather than characters.
Character counter FAQ
How are characters counted here?
As grapheme clusters, which is the technical term for "what a reader perceives as one character". A family emoji, a country flag or an accented letter each count as 1. Many counters use JavaScript string length instead, which silently counts a single family emoji as up to 11, so their numbers drift from what any human would count.
What is the difference between characters with and without spaces?
Characters counts every visible character plus spaces and line breaks. Without spaces strips all whitespace first, which is the classic letter-count number used for typesetting estimates and some assignment rules. Both are grapheme counts, so emoji and accents behave identically in each.
Which count do platform limits use?
It varies, which is why the platform meters are separate. Instagram counts characters (2,200 cap). X uses its own weighted system where a link is always 23 and most emoji count 2, so the X meter uses those official rules rather than the plain character count. Google truncates titles and snippets by pixel width, so those meters show guidance ranges, not hard limits.
Why do other tools show a different character count for the same text?
Three common reasons: they count UTF-16 code units (raw JavaScript length), they count code points, or they normalize whitespace differently. For plain English text all methods agree; add emoji, flags or accented letters and they diverge. This tool shows the perceived-character count as the headline and lists code points, UTF-16 units and UTF-8 bytes under Detailed statistics so you can match any other tool's definition.
Is my text stored or uploaded?
No upload, ever: counting runs in your browser. Draft autosave to this device is a visible toggle you control, with a separate button to delete the saved draft.
More free tools: Word Counter · Unicode Character Counter · X Character Counter · Instagram Caption Counter · SERP Snippet Preview