SMS segment calculator.
Paste a message to see its encoding (GSM-7 or UCS-2), how many SMS segments it will cost, characters left in the current segment, and exactly which characters force the message into double-byte Unicode. Nothing leaves your device.
The short answer
What is an SMS segment?
An SMS segment is one message unit as it travels over the mobile network. A single SMS holds 160 characters in GSM-7 encoding or 70 in UCS-2. Longer messages are split into concatenated segments of 153 (GSM-7) or 67 (UCS-2) characters each, because a header is added so the handset can reassemble them. Carriers bill per segment, not per message.
How SMS segmentation works
SMS encoding is defined in the GSM 03.38 standard. Every message is sent as either GSM-7 (a 7-bit alphabet, 160 characters per segment) or UCS-2 (16-bit Unicode, 70 characters per segment). A single character outside the GSM-7 alphabet forces the entire message to UCS-2, cutting the per-segment budget by more than half. When a message is longer than one segment, the carrier wraps each part in a User-Data Header (UDH) so the receiving phone can stitch them back together. That header consumes 7 characters of payload per part, which is why concatenated segments shrink to 153 (GSM-7) or 67 (UCS-2).
| Property | GSM-7 | UCS-2 (Unicode) |
|---|---|---|
| Bits per character | 7-bit | 16-bit |
| Single SMS | 160 characters | 70 characters |
| Per concatenated part | 153 characters | 67 characters |
| Alphabet | Basic Latin + limited European set | Any Unicode: Arabic, Cyrillic, CJK, emoji |
| Triggered by | Default for supported characters | One non-GSM-7 character anywhere |
| Extension characters | Count as 2 (e.g. € { } [ ] ~ | ^ \) | Count as 1 |
Frequently asked questions
Why did my message split into multiple SMS?
Your message exceeded the single-segment limit — 160 characters in GSM-7 or 70 in UCS-2. Once you pass that limit the carrier splits the text into concatenated parts of 153 (GSM-7) or 67 (UCS-2) characters each and bills each part separately.
Do emojis cost more?
Yes. A single emoji forces the whole message to UCS-2 encoding, dropping your budget from 160 to 70 characters per segment. A short message that would have been one GSM-7 segment can suddenly become two or three UCS-2 segments once an emoji is added.
What is GSM-7?
GSM-7 is the 7-bit default alphabet defined in the GSM 03.38 standard. It covers basic Latin letters, digits, common punctuation and a small set of European characters, and fits 160 characters in a single SMS. A handful of characters (€ { } [ ] ~ | ^ \) live in the extension table and count as two units each.
What is UCS-2 and when is it used?
UCS-2 is a 16-bit Unicode encoding used whenever a message contains any character outside the GSM-7 alphabet — Arabic, Cyrillic, Chinese, Japanese, Korean, emoji, curly quotes, em-dashes or certain accented letters. It supports every script but only fits 70 characters per single segment.
What is concatenated SMS and the UDH?
Concatenated SMS is how a long message is delivered as several linked segments that the receiving handset reassembles into one. Each segment carries a User-Data Header (UDH) — a short prefix identifying the reference number, total parts and sequence. The UDH consumes 7 characters of payload, which is why concatenated parts hold 153 (GSM-7) or 67 (UCS-2) rather than the full 160 or 70.
Which characters silently force UCS-2?
Smart or curly quotes, em-dashes, the ellipsis character, some accented letters not in the GSM-7 extension table, and any emoji all force UCS-2. These are often inserted automatically by phones and word processors, so a message can switch encoding without you noticing. The calculator above lists the exact characters responsible.
Is this calculator accurate for billing?
It applies the standard GSM 03.38 segmentation rules that carriers use, so segment counts match how most networks bill. Actual charges depend on your provider's per-segment rate and routing. Enter your own rate above to estimate cost — BroadNet does not assert a price in this tool.
Ready to send at scale?
BroadNet ships a Bearer-token REST API, direct SMPP 3.4 binds, delivery webhooks and an official TypeScript SDK. Talk to our team about routing and rates.