Understanding SMS Message Parts

In this section, you can learn more about splitting SMS into message parts and how to maximize the length of a single message part .

  • Message parts explained
  • How to maximize a length of a message

Message parts explained

SMS technology has been designed for short text messaging, so the initial length limitation was 140 bytes which translates into 160 English letters and numbers or 70 Arabic letters. A way of sending longer messages has been introduced few years later to support longer messages. Today SMS messages are still sent in 140 byte chunks known as message segments or message parts.

When a message contains more text than one segment can accommodate, a process known as SMS segmentation comes into play, which divides the original message into parts. Depending on the type of encoding, a single message part can contain 67 (Arabic) or 153 (Latin/English) characters, because additional metadata will need to be inserted into the message to tell the recipient that it’s a part of a multi-part SMS. Also, special characters such as various hyphens, quotation marks and underscores will affect maximum message part length because they require special encoding (the same as used when encoding Arabic language).

When Unifonic communicates with carriers to send out SMS messages, we send them one message part at a time. To help you understand how many parts your message is going to consume we have a hint in the Campaign section of the Unifonic Console.

This is an indication of how many parts the message will take (2 – in the example above). Maximum number of message parts that could be sent to Unifonic in a single campaign or a message submitted over API is 10.

To summarize, a message length depends on the characters and language used and you can refer to the table below:

Number of partsLatin, no special charactersNon-latin or special characters
One16070
More than one153 per each message part67 per each message part

How to maximize a length of a message part

As mentioned above, various special characters encoded differently and once a single character is detected that can not be encoded with a basic character set (ASCII / GSM7) - the whole message length will shrink to 70 characters (or 67 characters if longer text is used). So in order to avoid unintentionally high SMS charges it's always better to stick to the characters from the basic character set. See a Github link below for a list of easy-to-miss characters and their appropriate twins from the basic character set.