A concatenated SMS (long SMS) is a message over 160 GSM-7 or 70 Unicode characters, split into segments that the phone joins back into one message. Each segment carries a small header, so it holds 153 GSM-7 or 67 Unicode characters, and each segment is billed as a separate SMS.
How concatenation works
A single SMS can carry 140 bytes. To send more, the sender splits the text into parts and adds a User Data Header (UDH) to each one. The UDH contains three key values:
- Reference number: the same for all parts of one message, so the phone knows which parts belong together.
- Total parts: how many segments make up the message.
- Part number: the position of this segment.
The common header uses an 8-bit reference and takes 6 bytes. A variant with a 16-bit reference takes 7 bytes and leaves one character less per GSM-7 segment (152). The phone waits until all parts arrive, then shows them as one message.
Segment sizes
| Message length (GSM-7) | Segments | Length (Unicode) | Segments |
|---|---|---|---|
| 1 to 160 | 1 | 1 to 70 | 1 |
| 161 to 306 | 2 | 71 to 134 | 2 |
| 307 to 459 | 3 | 135 to 201 | 3 |
| 460 to 612 | 4 | 202 to 268 | 4 |
Characters from the GSM-7 extension table (such as the euro sign or square brackets) count as two. One non-GSM character switches the message to Unicode and changes all the numbers. See GSM-7 vs Unicode: SMS encoding and length.
Sending long messages over SMPP
There are three common ways to send a long message through an SMPP connection. Ask your supplier which ones it supports:
- UDH in the payload: you split the text yourself, add the UDH and set the UDHI flag in esm_class. Each part is a separate submit_sm with its own message ID.
- SAR optional parameters: sar_msg_ref_num, sar_total_segments and sar_segment_seqnum carry the same information as TLVs, and the SMSC builds the UDH.
- message_payload: you send the full text in one submit_sm using the message_payload parameter, and the supplier splits it. Not every platform accepts this.
With an HTTP API you usually send the full text and the platform splits it. The two interfaces are compared in SMPP vs HTTP API for A2P SMS. If parts are sent with the wrong length or flags, you will see errors such as invalid message length, described in common SMPP error codes.
Billing and delivery reports
- Each segment is charged as one SMS. A 300-character message costs two, a 200-character Arabic message costs three. More on this in how A2P SMS pricing works.
- Each segment can return its own DLR. Treat the message as delivered only when every part is delivered. See DLR statuses explained.
- Throughput counts segments. A 3-part message uses three TPS slots, which matters when you size SMPP binds and TPS.
Common problems
- Parts shown as separate messages: the UDH was lost along the route, or the route changed the encoding. This is a frequent sign of low quality routes.
- Missing parts: the phone cannot show the full message until all parts arrive; some phones show partial text after a timeout.
- Different routes per part: if parts go through different paths, they can arrive minutes apart. Good platforms keep all parts on the same route.
- Limits: the 8-bit counter allows up to 255 parts, but many operators and suppliers cap messages at a much lower number of segments. Ask before sending long content.
Should you send long messages?
For OTP and alerts, no: keep one segment. For service messages that need detail, two or three segments are normal. For longer content, a link to a page is usually cheaper, though links can trigger filters on some routes. VoIPMatcher sources A2P SMS routes that handle concatenated messages correctly. Request an SMS route and mention your typical message length.
Free SMS character counter
- Encoding
- GSM-7
- Characters
- 0
- Billed SMS
- 0
- Characters left in this SMS
- 160
Frequently asked questions
What is the maximum length of a concatenated SMS?
The 8-bit reference in the standard header allows up to 255 segments, which is about 39,000 GSM-7 characters. In practice many operators and SMS suppliers cap messages at a much lower number of segments, and long messages are more likely to arrive incomplete. Ask your supplier for its limit before sending long content, and keep alerts short.
Is multipart SMS the same as concatenated SMS?
Yes. Concatenated SMS, multipart SMS and long SMS are names for the same thing. A message longer than one SMS is split into parts, each with a header that lets the phone rebuild it. The recipient sees one message, while the sender pays for every part as a separate SMS.
Does a long SMS cost more?
Yes. Each segment is billed as one SMS, so a 300-character GSM-7 message costs two and a 200-character Unicode message costs three. One character outside the GSM-7 alphabet switches the whole text to Unicode, which lowers the segment size to 67 characters and can multiply the cost of a campaign.
Why does my long SMS arrive in separate pieces?
The phone shows parts separately when the User Data Header was lost or changed along the route, or when the route changed the encoding. This is a common sign of a low quality route. It can also happen when parts travel over different paths and arrive minutes apart. Test long messages on real handsets before sending volume.
Need a route?
Send the destination, route type and target rate. We reply with what we can deliver.