About the SMS Segment Calculator
This SMS segment calculator shows exactly how many message parts (segments) a text message will be split into and why. Paste your message and it detects whether it can be sent with the GSM 7-bit alphabet (160 characters per single SMS) or must fall back to Unicode UCS-2 encoding (only 70 characters), then counts the segments the way carriers bill them.
It is built for marketers planning SMS campaigns, developers sending messages through APIs such as Twilio, Vonage or AWS SNS, and anyone who has been surprised by a bill for twice as many messages as expected. Messaging providers usually charge per segment, so trimming a message from 161 to 160 characters, or replacing one curly quote, can halve the cost.
The calculator flags the exact characters that force Unicode — typically emoji, curly quotes, long dashes or accented letters outside the GSM set — and its optional smart encoding replaces common look-alikes with GSM equivalents. Characters from the GSM extension table such as € [ ] { } ~ ^ \ | count as two. Long messages are concatenated with a header that leaves 153 GSM-7 or 67 UCS-2 characters per segment.
With the default inputs, the sms segments is 1. Change any value above to recalculate instantly.
How to use the sms segment calculator
- 1Paste or type the exact text message you plan to send.
- 2Check the encoding: GSM-7 allows 160 characters, Unicode only 70.
- 3Look at the characters forcing Unicode and replace them if you can, or turn on smart encoding.
- 4Enter your price per segment and number of recipients to estimate the cost.
- 5Trim the message until it fits the segment count you want.
Formula and method
An SMS carries 140 bytes of user data. With the GSM 7-bit default alphabet from 3GPP TS 23.038 each character is packed into 7 bits, so 140 × 8 ÷ 7 = 160 characters fit. If any character is outside that alphabet, the whole message switches to UCS-2, which uses 16 bits per character, so only 140 ÷ 2 = 70 fit. Characters from the GSM extension table (€ [ ] { } ~ ^ \ |) need an escape code first and cost two septets; emoji and other characters beyond the Basic Multilingual Plane cost two UCS-2 units.
Longer messages are sent as concatenated SMS. Each part spends 6 bytes on a user data header that tells the phone how to reassemble them, leaving 134 bytes: 153 GSM-7 characters or 67 UCS-2 characters. The calculator fills segments in order and, like most carriers and SMS APIs, never splits an escape sequence or emoji across two segments, which occasionally adds a segment compared with simple division.
- septet
- One 7-bit GSM character slot
- UCS-2 unit
- One 16-bit code unit (emoji use two)
Worked examples
Appointment reminder in one SMS
Every character is in the GSM 7-bit alphabet, so the 116-character reminder fits in a single 160-character SMS with 44 characters to spare, costing one segment.
One emoji forces Unicode
The truck emoji is not in the GSM alphabet and takes two UCS-2 units, so the 90-character message needs 91 units. That is more than 70, so it is split into 67-unit segments: 2 segments per recipient, 2,000 for 1,000 people, or $15.80 at $0.0079 each.
Smart encoding removes curly quotes
The curly apostrophe and em dash are outside the GSM set. Smart encoding swaps them for a straight apostrophe and hyphen, so the message stays in GSM-7: 40 characters with 120 left in the segment.
Euro signs count double
The two € signs and the two square brackets come from the GSM extension table and cost 2 septets each, so 39 visible characters use 43 of the 160 available.
Frequently asked questions
How many characters are in one SMS?+
A single SMS holds 160 characters when every character is in the GSM 7-bit alphabet, or 70 characters when the message needs Unicode (UCS-2). Messages longer than that are split into segments of 153 or 67 characters.
Why does my SMS count as 2 or 3 messages?+
Once a message exceeds 160 GSM characters (or 70 Unicode characters) it is sent as several concatenated segments, and providers bill each segment. A single emoji or curly quote can switch the whole message to Unicode and cut the limit to 70.
Which characters force Unicode in an SMS?+
Any character outside the GSM 03.38 alphabet: emoji, curly quotes ’ “ ”, en and em dashes, the ellipsis …, and many accented letters such as á, ê, ç (lowercase) or õ. Letters like é, è, ñ, ü and ä are in the GSM set.
Do spaces and line breaks count?+
Yes. Spaces, line feeds and carriage returns are all characters in the GSM alphabet and count as one each. Text pasted from Windows files can contain a carriage return plus line feed for each new line, which counts as two characters.
Why does € count as two characters?+
The euro sign, square and curly brackets, tilde, caret, backslash and vertical bar live in the GSM extension table. They are sent as an escape code followed by the character, so each one uses two of the 160 septets.
Is the limit the same for MMS or RCS?+
No. MMS and RCS messages are not limited to 160 characters and are billed differently. This calculator applies to standard SMS sent over mobile networks or SMS APIs.