Understanding SMS Segments and Message Length

Modified on Tue, Jun 30 at 5:54 PM

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 TypeMaximum Characters
Single message160
Multi-part message153 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 TypeMaximum Characters
Single message70
Multi-part message67 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 CharacterReplace With
“ ”"
‘ ’'
– (en dash)-
— (em dash)-
...
* (or -)
Non-breaking spacesRegular 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

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article