SMS Segment & Encoding Calculator
Calculate SMS segment counts, identify expensive Unicode/UCS-2 characters, and estimate Twilio/telecom campaign costs in real time.
Segment Breakdown & Campaign Billing
✅ Optimized for GSM-7 Encoding
This message exclusively uses standard GSM-7 characters. Each recipient consumes exactly 1 billable segment (up to 160 characters), keeping your telecom costs minimal.
About this tool
How to use it
- Paste or type your SMS marketing copy or transactional notification text into the message box.
- Inspect the real-time segment counter, encoding format (GSM-7 vs. UCS-2), and character capacity limit.
- Review the Non-GSM Characters warning box to locate expensive curly quotes, em-dashes, or emojis.
- Click 'Auto-Sanitize to GSM-7' to instantly replace smart quotes and diacritics with budget-friendly GSM equivalents.
Why it matters
A single accidental curly quote (’) copied from Microsoft Word or Google Docs forces telecom networks to switch message encoding from GSM-7 to UCS-2 Unicode. This slashes segment capacity from 160 characters down to 70, instantly doubling or tripling campaign costs across thousands of recipients.
When to use it
Use this calculator before sending bulk SMS campaigns via Twilio, Sinch, Klaviyo, or AWS SNS, configuring automated customer notifications, or testing character length limits.
Good to know
Calculations conform to 3GPP SMS standards. GSM-7 single messages allow 160 characters; concatenated multi-part messages allow 153 characters per segment due to the 6-byte User Data Header (UDH). UCS-2 messages allow 70 characters for single messages and 67 characters per segment when concatenated.
Common questions
What is an SMS segment?
An SMS segment is the fundamental billing unit used by mobile network operators. Standard SMS messages are limited to 1,120 bits of data, which translates to 160 7-bit characters in GSM-7 encoding or 70 16-bit characters in UCS-2 Unicode encoding.
Why does a 161-character message count as 2 segments instead of 1?
When a message exceeds the 160-character limit, mobile carriers split it into multiple parts. To recombine them seamlessly on the recipient's phone, the carrier reserves a 6-byte User Data Header (UDH) in each message, reducing available text capacity from 160 to 153 characters per segment.
What causes an SMS to switch to UCS-2 encoding?
Including any character outside the standard GSM 03.38 character set—such as emojis (😀), smart/curly quotes (“ ” ‘ ’), em dashes (—), or non-Latin alphabets (Cyrillic, Arabic, Chinese)—triggers an automatic switch to UCS-2 encoding across the entire message.
Do emojis count as one character?
No. In UCS-2 encoding, most modern emojis are stored as surrogate pairs, consuming 2 characters (4 bytes) of the strict 70-character limit, in addition to forcing the entire message into UCS-2 mode.
Which characters in GSM-7 count as two characters?
The GSM-7 extended character set includes the pipe symbol (|), caret (^), euro sign (€), curly brackets ({ }), square brackets ([ ]), tilde (~), and backslash (\). Each of these requires an escape code, counting as two characters against your 160-character limit.