Skip to main content

Free Character Counter

Count characters, words, sentences, letters, digits, and special characters. Check against Twitter, Instagram, and other platform limits.

Works offline once loaded
Characters86
Graphemes86
Bytes (UTF-8)86
Words17
Sentences2
Paragraphs2
Letters67
Digits0
Spaces15
Newlines2
Special2
Unique chars31
Avg word length3.9 ch
Reading time5 sec
Speaking time7 sec
Platform limits
𝕏 Tweet (X)86/280 βœ“
πŸ’Ό LinkedIn post86/3000 βœ“
🌐 Meta description86/160 βœ“
▢️ YouTube title86/100 βœ“
πŸ’¬ SMS message86/160 βœ“
πŸ“· Instagram caption86/2200 βœ“
Platform counting rules vary β€” emoji, links and CJK characters may count as more than one character.

Common uses

  • Count Characters for Social Media PostsCheck character counts against Twitter, Instagram, LinkedIn, and other platform limits before posting.
  • Count Characters for SEO Meta TagsCheck title tags and meta descriptions against search engine character limits for optimal display.
  • Count Characters for Academic WritingTrack character and word counts for essays, abstracts, application forms, and thesis submissions.
  • Count String Length for DevelopmentCheck string lengths, byte sizes, and Unicode character counts for database column sizing and validation.
  • Analyse Content Structure and StatisticsGet detailed text statistics β€” sentence length, paragraph count, and character frequency for any content.

How It Works

All counting runs in your browser using JavaScript's built-in Unicode APIs β€” specifically Intl.Segmenter for grapheme clusters and TextEncoder for byte length β€” with no server calls and no external libraries. The tool distinguishes between Unicode code points, user-perceived characters (so a flag emoji or a family emoji counts as one grapheme, not four), and raw UTF-8 bytes.

  1. 1
    Unicode-aware parsing
    As you type, the text is split into Unicode code points using the spread iterator ([...text]), which correctly handles characters outside the Basic Multilingual Plane. Letters and digits are classified using Unicode property escapes (\p{L} and \p{N}) so Cyrillic, Arabic, CJK, and other scripts are counted correctly, not just ASCII.
  2. 2
    Grapheme and byte counting
    The browser's Intl.Segmenter API (with granularity: 'grapheme') counts user-perceived characters β€” a multi-codepoint emoji like a family or a flag registers as one. TextEncoder encodes the text to UTF-8 and reports the byte length, which matters for SMS and network limits where bytes, not characters, are the constraint.
  3. 3
    Structural and frequency analysis
    Words are detected by splitting on whitespace; sentences by counting ., !, and ? punctuation runs; paragraphs by double-newline boundaries. Unique character count is computed using a Set. Character and word frequency tables are built with a Map, then sorted by count to surface the top 10 most-used entries.
  4. 4
    Platform limit comparison
    Your character count is compared in real time against six hardcoded platform limits (Tweet/X at 280, Meta description at 160, SMS at 160, LinkedIn post at 3000, YouTube title at 100, Instagram caption at 2200). A progress bar and pass/fail indicator update instantly as you type, and reading time is estimated at 225 words per minute, speaking time at 140 wpm.

Related Tools

Frequently Asked Questions