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.

Word goal
Live stats
0Words
0Characters
0Without spaces
0Sentences
0Paragraphs
0Unique words
0 secReading time
0 secSpeaking time
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
Non-empty lines0 Total lines0 Code points0 UTF-16 units0 UTF-8 bytes0 Average word length0 Average sentence length0 words Longest word- Longest sentence0 words Pages (250 words each)0 Flesch reading ease*- Flesch-Kincaid grade*-

*English-language estimate. For a full report use the Readability Checker.

Platform checks
X post (weighted)0 / 280

X's own rules: every link counts as 23, emoji and CJK count as 2.

Instagram caption0 / 2,200

Hard limit 2,200 characters; only about the first 125 show before "more".

Google title guidance0 (50 to 60 typical)

Guidance, not a limit: Google truncates by pixel width per device. Check the SERP preview.

Google description guidance0 (120 to 160 typical)

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.

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.