SMS Length & Character Encoding

 Back to Blog List 

Share this?


TIP: Be aware that if you use characters outside the GSM character set, your message may exceed the expected length. You can send a test SMS to your phone, then forward or edit the SMS on your phone to check its length.

Dear Valued Customer,

NOTE: Our  SMS Composer (Login to View)  has implemented the information below so it automatically shows how long your SMS is as you type. You have nothing to worry about. This document is largely for developers using API.

Message length is dictated by the number of bytes of the message text. A single payload can only be 140 bytes. If a message text is longer than 140 bytes, then it becomes a concatenated or multi-part message. In a multi-part message, some of the allocated bytes from the payload are used to create a user data header (UDH). This provides identification and ordering information so that the receiving device knows how to order the separate payloads, which may arrive at the handset out of order into a single readable message. The UDH takes 6 bytes or 48 bits. This reduces the space for how many characters can be in each message part.

SMS primarily supports two character sets: GSM-7 and UCS-2/UTF-16*.

Although Campaign can send up to a maximum of 800 GSM characters or 400 UCS-2 characters in six parts, some markets might limit the maximum number of concatenated messages. Certain markets may have specific requirements or limitations. Check with the governing bodies of the market to obtain further information. Our system supports a maximum of 10 SMS lengths

GSM character sets
The way you create your SMS messages impacts the way your messages are sent and received by your customers. Understanding a few key concepts and incorporating best practices will ensure your messages are delivered the way you expect and reduce the risk of unexpected costs.
Depending on which alphabet or character set you use, SMS messages typically contain a maximum of 160 7-bit characters or 70 2-byte characters. If the allowed character count is exceeded, the SMS is split into multiple messages and additional costs are assessed accordingly.

GSM-7
GSM-7 character set supports most, but not all, characters for languages that use the Latin-based alphabet, such as English, Spanish, French. The GSM character encoding uses seven bits to represent each character similar to ASCII. One SMS message that uses GSM can contain a maximum of 160 characters.

GSM characters
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9 : ; < = > ? ¡ ¿ ! " # ¤ % & ( ) ' * + , - . / Ä Ö Ñ Ü § ä ö ñ ü à @ £ $ ¥ è é ù ì ò Ç Ø ø Å å Δ _ Φ Γ Λ Ω Π Ψ Σ Θ Ξ Æ æ ß É

The following Characters are also supported by GSM 7 but these cost two GSM 7 Characters (instead of one):
€ ^ { } [ ] ~ |

GSM-7 messages break down as follows:
Standard single SMS messages: For GSM phones with 7-bit character encoding, a standard SMS message can contain a maximum of 160 characters. That is 1120 bits / (7 bits/character) = 160 characters for a single SMS message. GSM-7 multi-part or concatenated messages: When the message text is longer than 160 GSM characters, the message is concatenated and sent. When a message is concatenated, the user data header (UDH) consumes 6 bytes or 48 bits. This reduces the maximum number of characters in each message part:
1120 bits - 48 bits = 1072 bits
1072 bits / (7 bits/character) = 153 characters per message part.

In Summary
+ Standard single SMS message = 160 Chars
+ Two concatenated SMS messages = 306 Chars
+ Three concatenated SMS messages = 459 Chars

Best practices
+ Be aware that if you use characters outside the GSM character set, your message may exceed the expected length due to addition of extra data bytes
+ If you use Microsoft Office to compose your messages, turn off the “Smart quotes” feature. This feature converts apostrophes and quotation marks to characters not supported in the GSM character set. Straight quotes and apostrophes are supported in GSM but curly quotes and apostrophes are not and will increase SMS length by adding more data bytes.
+ Note these: € ^ { } [ ] ~ | because they take 2 data spaces NOT 1 although they are GSM Characters.
+ You can read more on GMS characters: https://en.wikipedia.org/wiki/GSM_03.38

From: https://help.goacoustic.com

TIP: Be aware that if you use characters outside the GSM character set, your message may exceed the expected length. You can send a test SMS to your phone, then forward or edit the SMS on your phone to check its length.