Understanding the SMS Character Limit

Joel Oliveira
Joel Oliveira
Nov 14 2022
Posted in Best Practices

Learn more about text messages and their length

Understanding the SMS Character Limit

In this post, we will quickly dive into text messages and it's limitations. Although most people think text messages are limited to 160 characters, that is not always the case, and some other factors may affect the cost and deliverability of your text messages.

Basically, the Short Messaging Service (SMS) is a standardized communication protocol that enables devices to send and receive brief text messages. It was designed to work alongside other signalling protocols, which is why SMS message length is limited to 160 7-bit characters - 1120 bits or 140 bytes.

However, most modern phones and networks support message concatenation. They split large messages into individual SMS messages (called "segments") and then re-create the large message at the receiving end. Notificare supports long messages up to 1600 characters, but we do recommend sending messages that are no more than 320 characters to ensure the best user experience.

The 160-character limit is for messages encoded using the GSM-7 character set, which are the most widely used characters: all Latin characters (A-Z), digits (0-9), plus a few special characters. Below is a list of all characters in the GSM-7 set:

CharacterDescription
COMMERCIAL AT@
POUND SIGN£
DOLLAR SIGN$
YEN SIGN¥
LATIN SMALL LETTER E WITH GRAVEè
LATIN SMALL LETTER E WITH ACUTEé
LATIN SMALL LETTER U WITH GRAVEù
LATIN SMALL LETTER I WITH GRAVEì
LATIN SMALL LETTER O WITH GRAVEò
LATIN CAPITAL LETTER C WITH CEDILLAÇ
LINE FEED
LATIN CAPITAL LETTER O WITH STROKEØ
LATIN SMALL LETTER O WITH STROKEø
CARRIAGE RETURN
LATIN CAPITAL LETTER A WITH RING ABOVEÅ
LATIN SMALL LETTER A WITH RING ABOVEå
GREEK CAPITAL LETTER DELTAΔ
LOW LINE_
GREEK CAPITAL LETTER PHIΦ
GREEK CAPITAL LETTER GAMMAΓ
GREEK CAPITAL LETTER LAMBDAΛ
GREEK CAPITAL LETTER OMEGAΩ
GREEK CAPITAL LETTER PIΠ
GREEK CAPITAL LETTER PSIΨ
GREEK CAPITAL LETTER SIGMAΣ
GREEK CAPITAL LETTER THETAΘ
GREEK CAPITAL LETTER XIΞ
ESCAPE TO EXTENSION TABLE
LATIN CAPITAL LETTER AEÆ
LATIN SMALL LETTER AEæ
LATIN SMALL LETTER SHARP S(German)ß
LATIN CAPITAL LETTER E WITH ACUTEÉ
SPACE
EXCLAMATION MARK!
QUOTATION MARK"
NUMBER SIGN#
CURRENCY SIGN¤
PERCENT SIGN%
AMPERSAND&
APOSTROPHE'
LEFT PARENTHESIS(
RIGHT PARENTHESIS)
ASTERISK*
PLUS SIGN+
COMMA,
HYPHEN-MINUS
FULL STOP.
SOLIDUS(SLASH)/
DIGIT ZERO0
DIGIT ONE1
DIGIT TWO2
DIGIT THREE3
DIGIT FOUR4
DIGIT FIVE5
DIGIT SIX6
DIGIT SEVEN7
DIGIT EIGHT8
DIGIT NINE9
COLON:
SEMICOLON;
LESS-THAN SIGN<
EQUALS SIGN=
GREATER-THAN SIGN>
QUESTION MARK?
INVERTED EXCLAMATION MARK¡
LATIN CAPITAL LETTER AA
LATIN CAPITAL LETTER BB
LATIN CAPITAL LETTER CC
LATIN CAPITAL LETTER DD
LATIN CAPITAL LETTER EE
LATIN CAPITAL LETTER FF
LATIN CAPITAL LETTER GG
LATIN CAPITAL LETTER HH
LATIN CAPITAL LETTER II
LATIN CAPITAL LETTER JJ
LATIN CAPITAL LETTER KK
LATIN CAPITAL LETTER LL
LATIN CAPITAL LETTER MM
LATIN CAPITAL LETTER NN
LATIN CAPITAL LETTER OO
LATIN CAPITAL LETTER PP
LATIN CAPITAL LETTER QQ
LATIN CAPITAL LETTER RR
LATIN CAPITAL LETTER SS
LATIN CAPITAL LETTER TT
LATIN CAPITAL LETTER UU
LATIN CAPITAL LETTER VV
LATIN CAPITAL LETTER WW
LATIN CAPITAL LETTER XX
LATIN CAPITAL LETTER YY
LATIN CAPITAL LETTER ZZ
LATIN CAPITAL LETTER A WITH DIAERESISÄ
LATIN CAPITAL LETTER O WITH DIAERESISÖ
LATIN CAPITAL LETTER N WITH TILDEÑ
LATIN CAPITAL LETTER U WITH DIAERESISÜ
SECTION SIGN§
INVERTED QUESTION MARK¿
LATIN SMALL LETTER Aa
LATIN SMALL LETTER Bb
LATIN SMALL LETTER Cc
LATIN SMALL LETTER Dd
LATIN SMALL LETTER Ee
LATIN SMALL LETTER Ff
LATIN SMALL LETTER Gg
LATIN SMALL LETTER Hh
LATIN SMALL LETTER Ii
LATIN SMALL LETTER Jj
LATIN SMALL LETTER Kk
LATIN SMALL LETTER Ll
LATIN SMALL LETTER Mm
LATIN SMALL LETTER Nn
LATIN SMALL LETTER Oo
LATIN SMALL LETTER Pp
LATIN SMALL LETTER Qq
LATIN SMALL LETTER Rr
LATIN SMALL LETTER Ss
LATIN SMALL LETTER Tt
LATIN SMALL LETTER Uu
LATIN SMALL LETTER Vv
LATIN SMALL LETTER Ww
LATIN SMALL LETTER Xx
LATIN SMALL LETTER Yy
LATIN SMALL LETTER Zz
LATIN SMALL LETTER A WITH DIAERESISä
LATIN SMALL LETTER O WITH DIAERESISö
LATIN SMALL LETTER N WITH TILDEñ
LATIN SMALL LETTER U WITH DIAERESISü
LATIN SMALL LETTER A WITH GRAVEà

Additionally, you can also use a set of 10 extra characters that extend this character set:

CharacterDescription
EURO SIGN
FORM FEED
LEFT SQUARE BRACKET[
REVERSE SOLIDUS(BACKSLASH)\
RIGHT SQUARE BRACKET]
CIRCUMFLEX ACCENT^
LEFT CURLY BRACKET{
VERTICAL BAR|
RIGHT CURLY BRACKET}
TILDE~

These additional characters require two standard GSM characters for each extended GSM character, because they use the escape character prefix. When you send a message with more than 160 GSM-7 characters, it will be split into segments of 153 characters. This means that 7 characters are sacrificed per segment to help with concatenation.

But sometimes you will need use characters that are not in GSM-7 set, non-standard GSM characters are referred to as Unicode characters. Unicode provides a set of additional characters, including punctuation marks, mathematical symbols, technical symbols, arrows, and characters making up non-Latin alphabets, such as Thai, Chinese, or Arabic script and Emojis.

It's also important to note, that Emoji support has not been standardized across carriers, as a result, we cannot guarantee support for Emoji across all carriers. Older 16-bit Emojis count as a single character and newer 32-bit emojis count as two characters in a message.

When you include Unicode characters, these messages have to be sent using the UCS-2 encoding. When we send messages using this encoding, they will be subject to a 70-character limit. UCS-2 encoded messages with more than 70 characters will be split into 67-character segments. This means that 3 characters are sacrificed per segment to help with concatenation.

Notificare will bill you per segment used, so it's important to understand the impact of using certain characters, as that will define what encoding will be used and the limitations it imposes.

For your convenience, our SMS composer, will contain information about the encoding type and the number of segments used:

You will also find a breakdown of costs associated with each message you send. An event is collected every time we deliver a message, and they are displayed in the Events area:

And each event will contain information about the segments used and the actual cost of each message:

Ready to start texting?

Text messages remain a very effective messaging channel, with open rates of 98%. In average, messages are read within 3 minutes with a response rate of around 45%. However, it is a more expensive communication channel, in comparison with Email or Push, so it's important that you understand what influences its price and avoid unnecessary costs.

If you have any questions about how to get started with text messages, feel free to reach out or create a demo app and test it yourself today.

Keep up-to-date with the latest news