Character Counter

Runs in browser Formatting

Live character statistics with progress bars for common limits (SMS 160, X/Twitter 280, meta title 60, meta description 160, and custom).

Privacy: This tool runs entirely in your browser. Your input never leaves your device.
Loading tool…

Why do character counts differ between tools?

Because "character" can mean three things: bytes (what a database column or an HTTP body limit measures), code points (what most programming languages count) or grapheme clusters (what a person sees — an emoji with a skin tone, or an Arabic letter with its diacritics, is one grapheme but several code points and even more bytes). Unicode defines grapheme and word boundaries in UAX #29; a length validation that counts one way in the browser and another way on the server will accept or reject different input.

How to use Character Counter

  1. Type or paste the text.
  2. Watch the bars: blue is within the limit, amber means 90% or more of it is used, red is over.
  3. Set a custom limit for your own field or API.

Character Counter features

  • Characters with and without spaces, words, lines, UTF-16 units and UTF-8 bytes
  • Progress bars for SMS, X/Twitter, meta title and description, Instagram, LinkedIn, YouTube and git subjects
  • Automatic GSM-7 vs Unicode SMS detection (160 vs 70 characters)
  • Custom limit and choice of counting unit (visible characters, UTF-16 units or bytes)
  • Live update as you type

Character Counter example

Check a tweet

Input:

Mutqan Tools: free developer & QA utilities that run in your browser 🚀

Output:

70 characters · X/Twitter 70 / 280 (210 left) · SMS (Unicode) 71 / 70 (over by 1)

Frequently asked questions about Character Counter

Which limits are built in?

SMS (160 GSM-7 or 70 Unicode), X/Twitter posts (280), meta title (60), meta description (160), Instagram captions (2,200), LinkedIn posts (3,000), YouTube titles (100) and git commit subjects (72), plus a custom limit you set.

Why does the SMS limit change to 70?

If the text contains any character outside the GSM-7 alphabet (for example Arabic letters or any emoji), carriers switch to UCS-2 encoding and a single segment holds only 70 UTF-16 code units, so an emoji such as 🚀 counts as two. The SMS bars always count in the encoding's own units, whatever the "Count by" setting; in GSM-7 the characters ^ { } \ [ ] ~ | € each take two of the 160 positions.

How should I count characters for Twitter/X?

X counts most characters as 1 but CJK characters as 2 and URLs as 23. This tool counts visible characters; use the "UTF-16 units" mode for a stricter estimate.

Does the count include spaces and line breaks?

The main count does; a separate figure excludes all whitespace. Lines are counted by line breaks.

References