SMS Character Counter
Check how text divides into SMS segments. This page opens with the SMS preset selected and detects whether the draft fits the GSM-7 alphabet or needs UTF-16 units. It shows the encoding, segment count and remaining space in the current segment. It counts a text draft; it does not send messages or estimate a provider’s bill.
SMS message: 160 left of 160 septets
- Words
- 0
- Sentences
- 0
- Paragraphs
- 0
- Lines
- 0
- UTF-16 units
- 0
- UTF-8 bytes
- 0
- Reading
- 0 sec
- Speaking
- 0 sec
- Remaining
- 160 left
- Messages
- 0 (GSM-7)
Every count
The rule each figure was counted by, so you can tell which one a platform means.
Preset limits
X uses weighted length and SMS uses encoding-based segments. The other presets compare visible characters with a drafting limit; the destination may count differently. Track one to see the room left under that check.
Keyword density
The words used most, as a share of every word in the text. A short list of stop words such as the, and, of and to is left out, so the terms you are actually writing about come to the top.
Write a sentence or two and the words you lean on most appear here.
Character and letter frequency
The 100 most frequent entries, with counts and percentages. Letters are normalized and folded to lower case; All characters keeps case, emoji, digits, punctuation and whitespace. Character order preserves case in All characters mode.
No letters yet.
Common questions
- Why can one emoji change the SMS limit?
- An emoji is outside GSM-7, so the message switches to the Unicode counting path. A single segment then holds 70 UTF-16 units instead of 160 GSM-7 septets. Many emoji use two UTF-16 units, so 70 units does not always mean 70 visible characters.
- Why do long SMS messages use 153 or 67 units per segment?
- Concatenated messages reserve space for the header that joins segments. The counter uses 153 GSM-7 septets or 67 UTF-16 units per segment once a message is split.
- Do all GSM-7 characters use one unit?
- No. Characters in the extension table, such as braces and the euro sign, use an escape sequence and count as two septets. The counter includes that cost.
- Does this validate RCS, MMS or a provider API?
- No. It is an SMS text segmentation check. Providers and routes can impose additional limits, and RCS or MMS uses different rules. Nothing is sent to a messaging service.
Characters are counted as visible Unicode grapheme clusters, with UTF-16 units, code points and UTF-8 bytes shown separately. X uses weighted length and SMS uses encoding-based segments. Other preset limits are visible-character drafting guides; the destination platform decides what fits.