When sending text messages, you are billed based on the number of SMS segments that are sent, not simply the number of messages you create. Most messages fit into a single segment, but longer messages or messages containing certain special characters may require multiple segments.
Understanding how segments work can help you avoid unexpected messaging costs.
What is an SMS Segment?
An SMS message is divided into one or more segments. Each segment has a maximum number of characters it can contain.
If your message exceeds the character limit for a single segment, it is automatically split into multiple segments by the mobile carrier. The recipient typically still receives it as one message, but each segment is billed separately.
Standard GSM Encoding
Most text messages use the standard GSM-7 character set. This includes:
Uppercase and lowercase English letters (A–Z, a–z)
Numbers (0–9)
Most common punctuation
Standard symbols such as
@,#,$,%,&,(,),+,-,/, and many others
With GSM encoding:
| Message Type | Maximum Characters |
|---|---|
| Single message | 160 |
| Multi-part message | 153 characters per segment |
For example:
160 characters = 1 segment
161 characters = 2 segments
306 characters = 2 segments
307 characters = 3 segments
The slightly lower limit for multi-part messages is due to additional information included with each segment that allows the recipient's phone to reassemble the message.
Unicode (Special Character) Encoding
If your message contains any character that is not supported by GSM-7, the entire message must be sent using Unicode (UCS-2) encoding.
Unicode supports thousands of international characters and symbols, but because each character requires more space, the maximum message length is reduced.
With Unicode encoding:
| Message Type | Maximum Characters |
|---|---|
| Single message | 70 |
| Multi-part message | 67 characters per segment |
For example:
70 characters = 1 segment
71 characters = 2 segments
134 characters = 2 segments
135 characters = 3 segments
Because Unicode messages hold fewer characters per segment, they may require nearly twice as many segments as an equivalent GSM message.
Common Characters That Trigger Unicode
Many users accidentally copy and paste text from Microsoft Word, Outlook, websites, or AI tools that contains "smart" punctuation. Although these characters often look similar to standard keyboard characters, they require Unicode encoding.
Common examples include:
| Unicode Character | Replace With |
|---|---|
| “ ” | " |
| ‘ ’ | ' |
| – (en dash) | - |
| — (em dash) | - |
| … | ... |
| • | * (or -) |
| Non-breaking spaces | Regular spaces |
A single Unicode character anywhere in your message causes the entire message to use Unicode encoding.
GSM Extended Characters
A few characters are supported by GSM but require an additional escape character, causing them to count as two characters toward your message length.
These include:
^ { } \ [ ] ~ | €
These characters do not switch your message to Unicode, but they do slightly reduce the number of characters that fit within a segment.
Examples
Example 1 – Standard Text
Your payment is due tomorrow. Please contact us with any questions.
GSM encoding
67 characters
1 segment
Example 2 – Long Standard Text
A message containing 250 standard GSM characters:
GSM encoding
250 characters
2 segments
Example 3 – Smart Quotes
Your payment is “due” tomorrow.
Although only two quotation marks are different, the smart quotes (“ and ”) require Unicode encoding.
Unicode encoding
Fewer characters allowed per segment
May require additional billed segments
How to Reduce the Number of Segments
To keep your message within fewer segments:
Use standard keyboard characters whenever possible.
Avoid copying text directly from Microsoft Word, Outlook, or web pages without reviewing it.
Replace smart quotes and dashes with standard keyboard versions.
Keep messages concise whenever possible.
Segment Count in the Application
As you compose your message, the application calculates the number of SMS segments required based on the message content and the encoding that will be used.
If your message contains characters that require Unicode encoding, the segment count will automatically increase to reflect how the message will be transmitted by the mobile carriers.
This segment count is used to determine SMS billing and will match the number of segments submitted for delivery.
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article