Character Counter

Count characters, bytes and SMS segments, and check text against common platform limits.

Counted in your browser — your text isn’t sent anywhere

Characters
0
Without spaces
0
UTF-16 units
0
Bytes (UTF-8)
0
Lines
0

Platform limits

WhereLimitStatus

Limits change from time to time; X allows longer posts for some subscribers.

How it works

  • Characters counts what you see (grapheme clusters), so 👍🏽 or 🇿🇦 count as one.
  • UTF-16 units is how JavaScript and many platforms count length — emoji often count as 2 or more.
  • Bytes is the UTF-8 size, useful for databases and APIs with byte limits.
  • SMS checks every character against the GSM-7 alphabet: if all fit, a message holds 160 characters (153 per segment when split); otherwise it uses Unicode (UCS-2) at 70 (67 per segment). Extended GSM characters like € and [ count double.

Example

The pre-filled promotion is 71 characters (72 UTF-16 units, because the emoji takes two). Because of the 😊 emoji it must be sent as a Unicode SMS, where a single message holds only 70 — so it becomes 2 SMS segments instead of 1. Remove the emoji and it fits in one standard 160-character SMS.

Frequently asked questions

Why do emoji count as more than one character?

Many systems count UTF-16 code units, and an emoji often uses two (or more, for combined emoji like families or flags). We show both: “characters” is what you see, and the SMS and byte counts reflect how the text is actually stored and sent.

How are SMS segments calculated?

A single SMS holds 160 characters in the GSM-7 alphabet. Messages using characters outside it — including emoji and many accented letters — switch to UCS-2 encoding, which holds only 70 characters. Longer messages are split into segments of 153 (GSM-7) or 67 (UCS-2) characters, and each segment is usually billed separately.

Is my text stored?

No. Everything is counted in your browser as you type.

Related tools

Count words, sentences and paragraphs, estimate reading and speaking time, and spot overused words.

FreeRuns in your browser

Write page titles and meta descriptions and preview roughly how they may look in search results.

FreeRuns in your browser

Write bios for Instagram, TikTok, X, LinkedIn and YouTube, each checked against the platform’s character limit.

FreeRuns in your browser

Convert text to UPPERCASE, lowercase, Title Case, Sentence case, camelCase, snake_case and more.

FreeRuns in your browser

Related guides

Guide

A practical regex guide for JavaScript developers

The regular expression syntax you'll actually use in JavaScript — character classes, groups, lookarounds, flags and replacements — with examples you can try.

· 9 min read
Guide

AI tools for South African creators

How South African creators can use AI for scripts, voiceovers, editing and research — and what to check about dollar billing, data costs, accuracy and POPIA.

· 7 min read