VVerbCount

Methodology: How VerbCount counts

A basic counter just calls string.length. We're more careful β€” here's exactly how each metric is defined.

Last updated: June 9, 2026

Why "character" is ambiguous

Ask three tools to count the characters in πŸ‘and you may get three answers: 1, 2, or 4. None is "wrong" β€” they're measuring different things. VerbCount reports the definition people usually mean, and exposes the others so you're never surprised.

  • Graphemes (user-perceived characters): what you see as a single character on screen. A thumbs-up emoji, a flag, or a family emoji each count as 1. This is our default "Characters" metric, computed with the browser's Intl.Segmenter where available.
  • Code points: Unicode scalar values. The family emoji πŸ‘¨β€πŸ‘©β€πŸ‘§ is built from several code points joined by zero-width joiners, so it counts as more than one.
  • UTF-16 units: what JavaScript's string.length returns. Many basic counters report this, which is why their emoji counts look strange.
  • Bytes: the UTF-8 encoded size. ASCII letters are 1 byte; many emoji are 4 bytes. This matters for databases, APIs, and SMS encoding.

Words

A word is a run of letters or numbers, including internal apostrophes and hyphens, sodon't and well-known each count as one word. Where supported we use Intl.Segmenterwith word granularity, which also segments languages such as Chinese, Japanese, and Thai that don't separate words with spaces. Older browsers fall back to a Unicode-aware regular expression.

Characters without spaces, letters, and spaces

  • Characters without spaces removes every whitespace character, then counts graphemes.
  • Letters counts only alphabetic characters (Unicode category "Letter"), so digits, punctuation, and symbols are excluded.
  • Spaces counts all whitespace characters, including tabs and line breaks.

Sentences, paragraphs, and lines

Sentences are split on terminal punctuation (. ! ? …). Abbreviations and decimals can occasionally fool any automatic splitter, so treat sentence counts as a close estimate for natural prose. Paragraphs are blocks separated by a blank line. Lines are separated by any line break, so a five-line block with no blank lines is one paragraph but five lines.

Reading and speaking time

Reading time is the word count divided by a reading speed (default 238 words per minute, the average for silent adult reading of non-fiction). Speaking time uses a default of 130 words per minute, a clear presentation pace. Both are adjustable and should be treated as guides rather than exact figures.

Readability

We report the Flesch Reading Ease score (0–100; higher is easier) and the Flesch–Kincaid grade level. Both are based on average words per sentence and average syllables per word. Syllables are estimated with a standard English heuristic, which is accurate enough for a useful signal but not a dictionary-perfect count.

Platform limits

Character limits for platforms like X, Instagram, LinkedIn, YouTube, SMS, Google Ads, and SEO meta tags are maintained in a single list and were last reviewed on 2026-06-09. Each platform's preview uses that platform's own counting basis (graphemes or UTF-16 units). Some platforms additionally weigh certain characters differently β€” for example, X counts many emoji and CJK characters as two β€” so always verify against the platform itself before publishing anything close to a limit.