SMS character limits explained: GSM-7, Unicode and long messages

Written by

in

Why does one text cost one SMS and a slightly longer one cost two? And why can a single emoji double the price? This guide explains SMS character sets, long messages and how to keep every message to as few parts as possible.

In short: one SMS holds 160 characters from the standard GSM alphabet, or 70 if any character needs Unicode. Longer messages are split into parts of 153 (GSM) or 67 (Unicode) characters, joined back together on the phone, and each part is charged as one SMS.

Try it: count your message

Paste or type a message to see which character set it needs and how many parts it will use.

Two character sets

GSM-7

The standard SMS alphabet: A–Z, a–z, 0–9, common punctuation, the £, $ and @ signs, a few accented letters and some Greek capitals. Each character takes 7 bits, so 160 fit in one SMS.

Unicode (UCS-2)

Used when a message contains anything outside GSM-7: emoji, Chinese, Arabic, Cyrillic or Polish letters, and many accented characters. Each character takes 16 bits, so only 70 fit in one SMS.

The whole message uses one character set. A single Unicode character anywhere in it switches every character to Unicode.

How long messages are split

An SMS carries 140 bytes. A longer message is sent as several SMS, each with a small header (the user data header) telling the phone how to rejoin them in order. The header takes 6 bytes, leaving less room for text in each part:

Character setSingle SMSEach part of a long message2 parts3 parts4 parts6 parts
GSM-7160153up to 306up to 459up to 612up to 918
Unicode7067up to 134up to 201up to 268up to 402

The parts may arrive at slightly different times, but the phone waits for all of them and shows one message. You are charged for every part.

Characters that catch people out

In GSM, but count as two

These come from the GSM extension table and need an escape character, so each one counts as two:

€ [ ] { } \ ^ ~ |

Not in GSM: switch the message to Unicode

CharacterOften comes fromGSM alternative
’ ‘ “ ”Word, Outlook and phone keyboards (curly quotes)‘ and “
– —Word and web pages (en and em dashes)–
…Autocorrect (ellipsis)…
Emoji 😀 👍 🎉Phones and marketing copyRemove, or use words
ê, á, ç, í, ó, ú, ł, őNames and non-English wordse, a, c… (é, è, à, ù and Ç are in GSM)
Non-breaking spaces, tabsText copied from websites and spreadsheetsOrdinary space

An emoji also counts as two Unicode characters, so one emoji uses 2 of the 70.

Good news for UK senders

The £ sign, $, @, é and è are all standard GSM characters and count as one.

Worked examples

MessageCharacter setParts
160 plain charactersGSM-71
161 plain charactersGSM-72 (153 + 8)
159 characters plus a € signGSM-7 (€ counts as 2)2
150 characters with one curly apostropheUnicode3 (instead of 1)
120 characters plus one emojiUnicode (emoji counts as 2)2 (instead of 1)
400 plain charactersGSM-73

On a large send, a single pasted apostrophe can triple the bill. That’s why the default matters.

How everymessage handles it

  • Standard text by default. Through our REST API, messages are converted to the GSM alphabet unless you ask for Unicode. Curly quotes and dashes become plain ones, accented letters become their plain letter where GSM doesn’t have them, and emoji are removed. Your message always goes at 160 characters per SMS.
  • Unicode when you want it. Set "unicode": true to keep emoji and non-Latin text. If a message turns out to be plain GSM text after all, we still send it as GSM, so you don’t pay for Unicode you didn’t need.
  • Accurate part counts and prices. Every message is counted and priced by its real number of parts before it is sent.
  • A limit on message length. Each user account can be limited to between 1 and 6 parts per message: from 160 up to 918 standard characters (70 to 402 in Unicode). It stops one long message using up your credit, for example when someone forwards a whole email thread to email-to-SMS.

See the Send SMS API reference for the unicode option, or business SMS for everything else we offer.

Tips for writing SMS

  • Write or paste your message into a plain text editor first, or check it with the counter above.
  • Aim for 160 characters. If you need more, use the space up to the next part boundary (306, 459) rather than going just over it.
  • Use Unicode only when it adds something, such as a customer’s name in their own alphabet or a message in another language.
  • Put a link to a web page in the message for long or detailed information, instead of sending many parts.
  • If you send rich content often, consider RCS or WhatsApp, which have far higher limits and support images and buttons.

Frequently asked questions

How many characters can one SMS hold?

160 characters using the standard GSM alphabet, or 70 characters if the message needs Unicode, for example because it contains an emoji or non-Latin text.

Why is a long SMS split into 153-character parts?

Each part of a long message carries a small header so the phone can put the parts back together in the right order. The header uses 7 characters of space, leaving 153 for your text (67 with Unicode).

Does the pound sign £ need Unicode?

No. The £ sign is part of the standard GSM alphabet and counts as one character. The euro sign € is in GSM too, but counts as two.

Why did my message cost three times as much as expected?

Usually one character outside the GSM alphabet, such as a curly quote pasted from a document or an emoji, switched the whole message to Unicode, which fits less than half as much text per part.

What is the longest SMS I can send?

On everymessage, each user account can be set to allow between 1 and 6 parts per message, which is up to 918 standard characters or 402 in Unicode. The limit protects your credit if a long email is sent to email-to-SMS by mistake.

Are long messages delivered as one message?

Yes. The parts travel separately but the phone joins them and shows one message. Each part is charged as one SMS.

Send SMS with everymessage

UK business SMS with accurate part counts, character set conversion and a full API.