Encoding & Optimization for Multilingual SMS

Character encoding affects message length, segmentation, and cost when you send SMS broadcasts through Communications Platform, the API, or SFTP. Messages with special characters or extended alphabets require additional encoding. Additional encoding reduces the number of characters allowed per segment.

Even a single non-standard character can trigger a switch in encoding mode. The message then splits into multiple segments, increasing delivery costs.

You learn how encoding affects message size and when encoding switches occur. Practical recommendations help you craft message text that minimizes segmentation and optimizes delivery efficiency.

SMS Character Encoding

SMS technology has strict encoding standards that determine how characters are represented and transmitted. When composing broadcasts —either through the platform UI or APIs—the character set you use affects:

  • The encoding type (GSM-7 or Unicode).
  • The message length limit.
  • The cost per message, since messages exceeding a certain length are split into multiple segments.

Knowing which characters trigger Unicode helps you keep messages within a single segment. This avoids unexpected billing or delivery behavior.

GSM-7 Encoding

The GSM-7 character set is a 7-bit encoding standard designed for SMS. When your message contains only characters covered by GSM-7 (including its "extended" subset), the system uses GSM-7.

For a message fully encoded in GSM-7, the maximum length is 160 characters (one segment).

If the message exceeds 160 characters (using GSM-7), the system splits it into multiple segments (concatenated SMS). In that case, each segment typically allows about 153 characters. Part of the message payload is used for concatenation metadata.

You see the full GSM-7 character set in the table below. These are recognized as standard SMS characters. Display may vary depending on the handset's compatibility and font support.

Tabla de símbolos
@ Δ S P K 0 i P
p£_!Ä1AQ
q$Φ"krbR
RCæ-=MÑm
2¥Γ#ä3CS
sè¤ø4DT
téΩ%Æ5Eu
eùΠ&,6FV
vìΨ'<7GW
wòΣ(L8HX
xÇΘ)Ö9IY
yLFΞI*:J
jzØEöSC+
Åß.>NÜnü
É/?O§oà

The following characters are in the GSM-7 set but require an escape sequence. Each escape-sequence character counts as two characters toward the total message length:

^, {, }, \, [, ], ~, |,

Unicode (UCS-2) Encoding

If the message contains any character not supported by GSM-7, the system switches the encoding to Unicode (UCS-2).

Under Unicode, the character limit per segment drops to about 70 characters. Under Unicode, the system counts each character as two characters. This reduces the character limit in your SMS from 160 to 70.

When concatenation occurs under Unicode, each subsequent segment can typically carry approximately 67 characters (due to metadata overhead).

Thus, a single non-GSM-7 character triggers the lower capacity limit and may substantially increase segments and cost.

GSM-7 vs Unicode (UCS-2)

The choice between GSM-7 and Unicode encoding has a direct impact on message segmentation, delivery, and billing. You see the key differences between the two encoding standards in the table below:

Encoding TypeCharacter SetMax Characters (Single SMS)Characters per Segment (Concatenated)Common Use Cases
GSM-7Basic Latin alphabet, digits, and selected punctuation marks.160153Standard English or Latin-based languages without accents or special symbols.
Unicode (UCS-2)Supports all global scripts, symbols, and emojis.7067Messages that include non-Latin characters, accented letters, emojis, or complex symbols.

In practice, the encoding is automatically determined by the characters used in the message. As soon as one non-GSM-7 character is detected, the system switches to Unicode encoding for the entire message.

You see the characters that frequently trigger Unicode or consume extra GSM-7 units in the table below. Recommended replacements help you stay within one segment.

Character Description Recommended Replacement Example
á, à, â, ä, ã, å Accented "a" variations a "mañana" → "manana"
é, è, ê, ë Accented "e" variations e "éxito" → "exito"
í, ì, î, ï Accented "i" variations i "país" → "pais"
ó, ò, ô, ö, õ Accented "o" variations o "avión" → "avion"
ú, ù, û, ü Accented "u" variations u "tú" → "tu"
ñ Spanish "ñ" n "niño" → "nino"
ç Cedilla "c" c "façade" → "facade"
Euro symbol EUR "€50" → "EUR 50"
–, — En dash / Em dash - Replace "–" with "-"
', ', ", " Curly quotation marks ' , " Replace "smart quotes" with straight ones
Ellipsis ... Use three dots
Emojis / symbols Pictograms or icons Remove or use text equivalents "✔ Confirmed" → "Confirmed"

Plain equivalents may slightly alter tone or language, especially in Spanish. You weigh readability against cost and segment optimization.

Conclusion

  • If your message is encoded as GSM-7 and remains under ~160 characters, it typically is sent as one segment.

  • If it exceeds ~160 characters in GSM-7, it will be sent as multiple segments (each roughly ~153 characters). That is, when a GSM-7 message exceeds 160 characters, concatenation metadata is added to link the parts together. This metadata consumes 3 characters per segment, reducing the available capacity from 160 to 153 characters. For example, a 180-character GSM-7 message will be sent as 2 segments (157 + 23 = 180).

  • If the message includes any non-GSM-7 character, the encoding switches to Unicode (UCS-2). In Unicode, each segment can contain 67 usable characters, since 3 characters are reserved for concatenation information. This means the maximum per segment decreases from 160 to 67 characters.

  • The impact on cost is direct: each additional segment is a billable unit.

  • Example: A 140-character message that uses only GSM-7 characters will be sent as 1 segment. If the same message includes an emoji or any unsupported character, the encoding switches to Unicode. Because each Unicode segment holds 67 usable characters, the 140-character message will require 3 segments (67 + 67 + 6) — effectively tripling the delivery cost.

  • For high-volume SMS broadcasts, even small increases in per-message segments can significantly affect the budget.

Understanding which characters trigger Unicode encoding helps you optimize SMS delivery. Following best practices keeps costs controlled and distribution efficient.