Coding tips

SMS Character Limit Explained: Why Texts Split at 160 or 70 Characters

A single SMS holds 160 characters when every character belongs to the GSM-7 alphabet, but only 70 characters if the message contains even one emoji, curly quote or other Unicode symbol.

By 10 min read 1 view
Cover image for SMS Character Limit Explained: Why Texts Split at 160 or 70 Characters

A single SMS holds 160 characters when every character belongs to the GSM-7 alphabet, but only 70 characters if the message contains even one emoji, curly quote or other Unicode symbol. Longer texts split into segments of 153 characters (GSM-7) or 67 characters (Unicode), because each part carries a small header that tells the phone how to stitch the pieces back together.

That one rule explains a lot of everyday surprises. It's why a short appointment reminder suddenly bills as three messages, why a smart quote pasted from Word doubles your costs, and why your phone's counter jumps when you add a smiley.

This guide walks through the limits, the characters that trigger the switch, real segment maths, and simple habits that keep messages lean. You can check any draft with the free character counter before you hit send.

In this guide:

  • SMS character limits at a glance
  • Why long texts split at 153, not 160
  • What counts as a GSM-7 character
  • Characters that force Unicode (and cut your limit to 70)
  • Segment maths with real examples
  • What SMS segments mean for business costs
  • How phones and apps show the count
  • Characters vs bytes: what your counter really measures
  • How to keep messages inside one segment
  • Tips for developers sending SMS
  • Frequently asked questions

SMS character limits at a glance

The original GSM standard gave each text message 140 bytes of space. Different encodings fit a different number of characters into those bytes, which is where the familiar limits come from.

EncodingBits per characterSingle messagePer segment when splitTypical trigger
GSM-77160 characters153 charactersPlain English letters, digits, basic punctuation
UCS-2 (Unicode)1670 characters67 charactersEmoji, curly quotes, many accents, non-Latin scripts
8-bit data8140 bytes134 bytesBinary payloads, rarely used for normal texts

The maths is tidy. 140 bytes is 1,120 bits. Divide by 7 and you get 160 characters. Divide by 16 and you get 70. Messaging platform Twilio's SMS glossary lays out the same figures and notes the 1,600-character practical cap that many senders apply to concatenated messages.

These numbers apply to classic SMS. Chat apps such as WhatsApp or iMessage work over data and follow their own, much higher limits.

Why long texts split at 153, not 160

When a message runs past one segment, the network sends it as several separate SMS. Each one carries a User Data Header, usually 6 bytes, that records the message reference, the total number of parts and the part number. Your phone reads those headers and shows the parts as one bubble.

Those 6 bytes come out of the same 140-byte budget. In GSM-7 they cost the space of 7 characters, so each part holds 153 characters instead of 160. In UCS-2 they cost 3 characters, so each part holds 67 instead of 70.

  • A 160-character GSM-7 text fits in one SMS.
  • A 161-character GSM-7 text needs two segments, because 161 is more than one 153-character part.
  • A 307-character text needs three segments, since two parts only hold 306.

This catches people out all the time. They see 160 as the limit, write 200 characters and expect two messages' worth of room to spare. In fact, 200 characters already uses 47 characters of the second part.

What counts as a GSM-7 character

GSM-7, defined in the standard often called GSM 03.38, is a 128-character alphabet. It isn't the same as ASCII, though it overlaps a lot. The basic set includes:

  • Upper and lower case A to Z, and digits 0 to 9
  • Common punctuation such as full stop, comma, question mark, exclamation mark, colon, semicolon, brackets, hyphen and straight quotes
  • Symbols including @, £, $, ¥, %, &, *, + and =
  • A handful of accented letters, among them é, è, ù, ì, ò, Ç, Ø, å, Ä, Ö, Ñ, Ü, ä, ö, ñ and ü
  • Some Greek capitals such as Δ, Φ, Γ, Λ, Ω, Π, Ψ, Σ, Θ and Ξ

UK senders get a nice bonus here: the pound sign sits in the basic set, so "£20 off" costs nothing extra.

There's also an extension table. Characters such as €, [, ], {, }, \, ^, ~ and the pipe symbol need an escape code first, so each one uses two character slots. A message with one euro sign fits 159 visible characters in total, not 160. The GSM 03.38 reference table lists every basic and extended character if you need to check a specific symbol.

Characters that force Unicode (and cut your limit to 70)

If a single character falls outside GSM-7, the whole message switches to UCS-2. One rogue symbol is enough. These are the usual suspects:

  • Emoji. Every emoji is outside GSM-7, and most count as two UCS-2 units, so 😀 takes two of your 70 slots.
  • Smart quotes and apostrophes. Word processors and phones often turn ' and " into ’ and “. Those curly versions aren't in GSM-7.
  • Long dashes. The en dash (–) and em dash (—) trigger Unicode, while a plain hyphen doesn't.
  • Some accented letters. é is safe, but á, í, ó, ú, â, ê and ç (lower case) are not.
  • Non-Latin scripts. Arabic, Bengali, Chinese, Cyrillic, Hindi and others all need Unicode.
  • Invisible characters. Non-breaking spaces and zero-width characters, often pasted from web pages, sneak in unseen.

The hidden ones cause the most pain. A marketing team copies a sentence from a document, the apostrophe comes along as ’, and a 150-character text quietly becomes three segments.

Segment maths with real examples

Let's put numbers on it. This table shows how many SMS segments common message lengths use under each encoding.

Message lengthGSM-7 segmentsUCS-2 segments
70 characters11
100 characters12
160 characters13
200 characters23
306 characters25
459 characters37
612 characters410

The rule is simple. If the text fits in one message, you need one segment. If not, divide the length by 153 (GSM-7) or 67 (UCS-2) and round up. For example, 200 characters in UCS-2 gives 200 ÷ 67 = 2.99, so three segments.

Remember the extension characters. Each €, curly bracket or tilde counts as two in GSM-7, so add one per extended symbol before you divide.

On a personal phone plan with unlimited texts, none of this costs you money. For a business sending thousands of reminders, though, a 160-character message that becomes three segments can triple the bill.

What SMS segments mean for business costs

Carriers and SMS gateways bill per segment, not per message. That's the detail that turns encoding from trivia into a budget line.

Picture a GP surgery, salon or delivery firm sending 5,000 reminders a month. If each reminder stays inside 160 GSM-7 characters, that's 5,000 segments. Add one emoji and keep the same wording, and every reminder becomes three UCS-2 segments: 15,000 billed units for the same information.

  • Audit your templates. Check every saved message for curly quotes, emoji and long dashes once a quarter.
  • Watch merge fields. A customer called "Alexandra-Charlotte" uses more characters than "Sam", so test the longest real values you hold.
  • Mind country quirks. Twilio notes that toll-free multi-segment messages to the US and Canada carry 152 GSM-7 or 66 UCS-2 characters per segment, one fewer than usual.
  • Check the preview. Your provider's preview reflects how it will actually bill, which matters more than any rule of thumb.

Small savings add up quickly at volume. Trimming a template by 20 characters can be the difference between one and two segments for every customer on your list.

How phones and apps show the count

Phones don't always show the full picture, which is why the rules feel mysterious.

  • Android Messages can display a remaining-characters counter, which often looks like "45/2" to mean 45 characters left in the second segment. You may need to turn it on in settings.
  • iPhone users can enable a character count for SMS in Settings > Apps > Messages on recent versions of iOS, though iMessages sent over data don't follow SMS limits at all.
  • RCS chats on Android and, since iOS 18, on iPhone travel over data when both sides support them, so the 160-character limit doesn't apply in the same way.
  • Bulk SMS dashboards usually show the encoding and segment count before you send. Treat that preview as the source of truth for billing.

Many phones also fall back to SMS when data drops out. A message that looked fine as RCS can arrive as several SMS segments, sometimes out of order on older handsets.

Characters vs bytes: what your counter really measures

"Character" means different things to different tools. A word processor counts what you see. An SMS gateway counts encoded units. A database might count bytes. Mixing them up leads to wrong estimates.

Take a single thumbs-up emoji. You see one symbol. UCS-2 counts it as two units. UTF-8, the encoding most websites use, stores it in four bytes. Skin-tone and family emoji combine several code points, so one visible symbol can take seven or more units.

When you're checking a text for SMS, count characters and look for anything outside GSM-7. When you're checking storage size or an API field limit, count bytes. The byte counter shows UTF-8 size, which helps when a form or database rejects text that "looks" short enough.

How to keep messages inside one segment

A few habits keep texts short and cheap, whether you're sending one reminder or a campaign.

  1. Type quotes and apostrophes by hand. Replace ’ and “ with ' and " before you send.
  2. Swap dashes for hyphens. A plain hyphen does the same job in a text.
  3. Skip emoji in transactional messages. Appointment, delivery and code messages don't need them.
  4. Shorten links. A tidy branded short link saves dozens of characters over a full tracking URL.
  5. Cut filler. "Hi! Just a quick reminder that" can become "Reminder:".
  6. Test with real data. Merge fields such as long surnames or addresses can push a message over the limit for some recipients only.

If you genuinely need emoji or a non-Latin script, plan for 70 characters and write tighter copy. That's often a good discipline anyway, since short texts get read.

Tips for developers sending SMS

If you build SMS features, a little validation saves your users money and support tickets.

  • Detect the encoding before sending. Check each character against the GSM-7 basic and extension tables, and flag anything outside them.
  • Offer a "smart encoding" option. Many gateways can replace curly quotes and dashes with GSM-7 lookalikes automatically.
  • Count UTF-16 units for Unicode messages. In JavaScript, a string's length already counts UTF-16 units, which matches UCS-2 segment maths for most emoji.
  • Show a live counter. Display characters used, characters left and segment count as the user types.
  • Log segments, not messages. Billing reports should match what the carrier charges.

Store the original message as UTF-8, and only worry about GSM-7 at the moment of sending. That way you keep the full text for your records while still optimising what goes over the network.

Frequently asked questions

What is the character limit for a text message?

A standard SMS allows 160 characters using the GSM-7 alphabet. If the message includes emoji or other Unicode characters, the limit drops to 70.

Why did my text split into two messages?

It went over one segment. Plain texts split after 160 characters, and texts with any Unicode character split after 70. Each extra part then holds 153 or 67 characters.

Do emojis use more characters in a text?

Yes. One emoji switches the whole SMS to Unicode, cutting the limit to 70, and most emoji count as two characters on their own.

Is the £ sign allowed in a 160-character SMS?

Yes. The pound sign is part of the basic GSM-7 alphabet, so it counts as one character and doesn't trigger Unicode.

Does the euro sign count as two characters?

Yes. The € symbol lives in the GSM-7 extension table, so it uses two character slots in a standard SMS.

Do iMessage and WhatsApp have a 160-character limit?

No. iMessage, WhatsApp and RCS send over mobile data or Wi-Fi, so the SMS segment limits don't apply to them.

How many characters can a long SMS have?

Phones can join many segments, but most providers cap concatenated messages at around 1,600 GSM-7 characters, which is about ten parts.

How can I tell if my message uses Unicode?

Look for emoji, curly quotes, long dashes or uncommon accents. A bulk SMS dashboard or a character counter that flags non-GSM characters will confirm it.

Last checked: 18 October 2026. Rates, rules and app settings can change, so confirm anything important with the official source linked above.

Share X LinkedIn WhatsApp Facebook
Was this helpful?