GSM-7 vs. Unicode SMS Segment & Split Cost Calculator
Detect rogue Unicode characters (emojis, curly quotes, invisible spaces) that force your SMS into UCS-2 encoding, slashing your limit from 160 to 70 characters and doubling telecom charges.
The Engineering of SMS Segments: GSM-7 vs. UCS-2 Unicode
Global SMS infrastructure is constrained by the 140-byte transmission payload limit of the Mobile Application Part (MAP) signaling protocol. When sending plain English text, networks utilize GSM 03.38 7-bit encoding, packing 160 characters (140 × 8 ÷ 7 = 160) into a single standard SMS message.
However, if your copy contains even a single character not defined in the GSM-7 table (such as an emoji 🚀, Arabic/Hebrew letter, or non-standard punctuation like curly quotes “), telecom carriers switch the entire payload to 16-bit UCS-2 encoding. Because each character now requires 2 full bytes, a single SMS can hold only 70 characters (140 ÷ 2 = 70). For bulk SMS marketing campaigns sending millions of texts, this unexpected split can instantly double your messaging bill.
Multi-Part Concatenated SMS Breakdown
| Encoding | Single SMS Limit | Multi-Part Segment Limit | Header Overhead (UDH) |
|---|---|---|---|
| GSM-7 (7-bit) | 160 characters | 153 characters / segment | 6 bytes (User Data Header) |
| UCS-2 (16-bit Unicode) | 70 characters | 67 characters / segment | 6 bytes (User Data Header) |
Frequently Asked Questions (FAQs)
What is a User Data Header (UDH) and why does multi-part SMS hold fewer characters?+
When an SMS exceeds a single message limit, carriers link multiple segments together using a 6-byte User Data Header (UDH) in each packet. This header consumes 7 characters in GSM-7 (reducing capacity from 160 to 153 chars) and 3 characters in UCS-2 (reducing capacity from 70 to 67 chars).
How can I prevent accidental Unicode triggers in marketing copy?+
Avoid copying text from Microsoft Word or rich-text editors that automatically replace standard straight quotes (') with curly smart quotes (’). Use our 1-Click Sanitize button to automatically clean non-GSM characters before sending.