Understanding the SMS Character Limit
Learn more about text messages and their length
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:
Character | Description |
---|---|
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 ZERO | 0 |
DIGIT ONE | 1 |
DIGIT TWO | 2 |
DIGIT THREE | 3 |
DIGIT FOUR | 4 |
DIGIT FIVE | 5 |
DIGIT SIX | 6 |
DIGIT SEVEN | 7 |
DIGIT EIGHT | 8 |
DIGIT NINE | 9 |
COLON | : |
SEMICOLON | ; |
LESS-THAN SIGN | < |
EQUALS SIGN | = |
GREATER-THAN SIGN | > |
QUESTION MARK | ? |
INVERTED EXCLAMATION MARK | ¡ |
LATIN CAPITAL LETTER A | A |
LATIN CAPITAL LETTER B | B |
LATIN CAPITAL LETTER C | C |
LATIN CAPITAL LETTER D | D |
LATIN CAPITAL LETTER E | E |
LATIN CAPITAL LETTER F | F |
LATIN CAPITAL LETTER G | G |
LATIN CAPITAL LETTER H | H |
LATIN CAPITAL LETTER I | I |
LATIN CAPITAL LETTER J | J |
LATIN CAPITAL LETTER K | K |
LATIN CAPITAL LETTER L | L |
LATIN CAPITAL LETTER M | M |
LATIN CAPITAL LETTER N | N |
LATIN CAPITAL LETTER O | O |
LATIN CAPITAL LETTER P | P |
LATIN CAPITAL LETTER Q | Q |
LATIN CAPITAL LETTER R | R |
LATIN CAPITAL LETTER S | S |
LATIN CAPITAL LETTER T | T |
LATIN CAPITAL LETTER U | U |
LATIN CAPITAL LETTER V | V |
LATIN CAPITAL LETTER W | W |
LATIN CAPITAL LETTER X | X |
LATIN CAPITAL LETTER Y | Y |
LATIN CAPITAL LETTER Z | Z |
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 A | a |
LATIN SMALL LETTER B | b |
LATIN SMALL LETTER C | c |
LATIN SMALL LETTER D | d |
LATIN SMALL LETTER E | e |
LATIN SMALL LETTER F | f |
LATIN SMALL LETTER G | g |
LATIN SMALL LETTER H | h |
LATIN SMALL LETTER I | i |
LATIN SMALL LETTER J | j |
LATIN SMALL LETTER K | k |
LATIN SMALL LETTER L | l |
LATIN SMALL LETTER M | m |
LATIN SMALL LETTER N | n |
LATIN SMALL LETTER O | o |
LATIN SMALL LETTER P | p |
LATIN SMALL LETTER Q | q |
LATIN SMALL LETTER R | r |
LATIN SMALL LETTER S | s |
LATIN SMALL LETTER T | t |
LATIN SMALL LETTER U | u |
LATIN SMALL LETTER V | v |
LATIN SMALL LETTER W | w |
LATIN SMALL LETTER X | x |
LATIN SMALL LETTER Y | y |
LATIN SMALL LETTER Z | z |
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:
Character | Description |
---|---|
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.