Twilio SMS Segment Calculator – GSM-7 / UCS-2 & Cost

A developer-focused SMS segment calculator that mirrors how Twilio splits and bills messages. Paste your message body to see the encoding Twilio will pick (GSM-7 or UCS-2), the exact segment count, the per-segment character limit, which characters are forcing Unicode, and an estimated cost based on your price per segment. Everything runs locally in your browser — your message is never sent to Twilio or stored.

🔒 Runs entirely in your browser — your message body is never sent to Twilio or stored.

Type or paste exactly what you'll send. A single non-GSM character switches the whole message to UCS-2.
Encoding
Characters0
Segments billed0
Limit per segment160
Used in last segment0
GSM-7 extended chars (count ×2)0
$
Estimated send cost
$0.0000
segments × price per segment
These characters forced UCS-2 (Unicode):
Replace or remove them to fall back to GSM-7 and roughly double the per-segment capacity.

How Twilio splits a message into segments

When you send an SMS through Twilio, the message body is encoded before it leaves the platform. If every character belongs to the GSM-7 alphabet, Twilio uses GSM-7 and fits 160 characters in a single segment. The moment one character falls outside that alphabet — an emoji, a curly quote pasted from a word processor, an em dash, or many accented letters — Twilio switches the entire message to UCS-2, where a single segment holds only 70 characters.

Longer messages are sent as concatenated SMS: each part reserves a 6-byte User Data Header so the recipient's phone can stitch them back together in order. That overhead is why multi-segment limits are 153 (GSM-7) and 67 (UCS-2) rather than the full 160 and 70. Because Twilio bills per segment, a stray Unicode character can quietly multiply your cost — the offender list above exists so you can catch it before it ships.

Need a non-developer view, or want to clean problem characters? Try the SMS length calculator for a marketing-focused breakdown, or the safe emoji for SMS/MMS tool to pick characters that survive every carrier.

Frequently Asked Questions

Twilio picks an encoding for your message body — GSM-7 for plain text, UCS-2 when any character isn't in the GSM-7 alphabet. A single-segment message fits 160 GSM-7 characters or 70 UCS-2 characters. Once you cross that, Twilio concatenates segments and each one carries a 6-byte UDH header, dropping the per-segment limit to 153 (GSM-7) or 67 (UCS-2). Every segment is billed as one outbound message.

Anything outside the GSM 03.38 alphabet — emoji, curly “smart” quotes, em dashes, most accented letters beyond the GSM set, and many symbols. This calculator lists the exact offending characters so you can swap them (e.g. replace a curly quote with a straight one) and drop back to GSM-7, which more than doubles the per-segment capacity.

Twilio's optional Smart Encoding automatically replaces common Unicode look-alikes (curly quotes, long dashes, non-breaking spaces) with GSM-7 equivalents before sending. If you rely on it, fix the flagged characters here too — this calculator shows the raw body so you can see the worst-case segment count Smart Encoding would otherwise rescue.

Concatenated (multi-part) SMS reserve a 6-byte User Data Header (UDH) in each segment so the receiving phone can reassemble the parts in order. That header consumes 7 GSM-7 septets or 3 UCS-2 characters, leaving 153 GSM-7 or 67 UCS-2 characters of usable body per segment.

Twilio bills per segment, not per message. A 320-character GSM-7 message is 3 segments and costs roughly 3× a single SMS; the same text with one emoji becomes UCS-2 and can jump to 5 segments. Enter your price per segment above to estimate the send cost before you wire it into code.

It uses the same GSM-7 / UCS-2 rules and UDH overhead Twilio applies, counting UCS-2 by UTF-16 code units (so an emoji counts as two). For ordinary message bodies it matches Twilio's reported num_segments. Exotic edge cases and Smart Encoding rewrites on Twilio's side can shift the final value.

This tool calculates SMS text segmentation. MMS is billed as a single message regardless of body length (and carries media), so segment math doesn't apply — if your content is short text, SMS segments are what determine cost.

No. The calculator runs entirely in your browser with no network calls — nothing is sent to Twilio, logged, or stored. You can safely paste production message bodies, including ones with customer data.