Message concatenation

How a long SMS splits into segments, why most routes bill each one, and how encoding changes the count.

Definitions only — a term explained here is not a service we sell.

Message concatenation splits a long SMS into segments that the handset reassembles into one message. Each segment carries a user data header, and most routes bill each one separately.

Encoding sets the budget: a concatenated GSM-7 segment holds about 153 characters, a UCS-2 segment 67.

Encoding and the segment count

Encoding
GSM-7
Characters
224
Units
224
Segments
2
A sample text's encoding, character count, size in encoding units and segment count.
Text description

The figure lists the encoding chosen for one sample text, its character count, its size in encoding units and the number of segments that size needs.

How the segments are built

The sender divides the text and adds a user data header to each segment. The header takes six octets with an 8-bit reference and seven with a 16-bit one, so a GSM-7 segment holds about 153 characters rather than 160.

On most routes every segment is a billable event and a separate receipt. Order is not preserved, and a lost segment can leave the message undisplayed even when the other receipts said delivered. The SMS segment calculator counts segments before you send.

FAQ

How many segments can one message have?

The standard allows up to 255. Practical limits are lower, and cost grows with every segment.

Do all networks support 16-bit references?

Most do, but support is not universal. A 16-bit reference reduces collisions between segments from different senders.

Why did my message split at 70 characters?

It was encoded as UCS-2, usually because of an emoji or a character outside GSM-7. Check the encoding first.

Learn more

Sources

  1. 3GPP TS 23.040: Technical realization of the Short Message Service (SMS), concatenation
  2. 3GPP TS 23.038: Alphabets and language-specific information