SMS Character Counter

An SMS is not always 160 characters. Check which alphabet your message encodes to, how many segments it costs, and which character is eating your capacity.

Alphabet GSM-7
0
Units
0
Segments
0 / 160 160 left
Characters0

Why an SMS is not always 160 characters

An SMS carries 1,120 bits. How many letters fit inside is not a fixed number: it depends on the alphabet the message is encoded with, and the phone picks that on its own.

If the whole text fits the GSM-7 alphabet, each character takes 7 bits and 160 fit. If a single character is outside that alphabet, the entire message switches to UCS-2, each character jumps to 16 bits and the limit falls to 70.

There is no middle ground and no partial conversion: one character decides the fate of the whole message. That is why a counter that simply counts to 160 gives you the wrong number as soon as you write normally in Spanish, Portuguese or any language with accents.

The ñ is safe, the á is not

Here is the counterintuitive part, and the one almost nobody explains: the most distinctively Spanish letter of all costs nothing, and the accented vowels do.

GSM-7 was designed in the eighties for Western European languages, and it included the ñ at positions 0x5D and 0x7D. So did é, ü, uppercase Ç and — more surprising still — the inverted marks ¿ and ¡. What did not make the cut were the acute-accented vowels: á, í, ó, ú.

Safe: cost no capacity

ñ Ñ é É ü Ü à è ò ì ù ¿ ¡ Ä Ö Ç ß

Force UCS-2: 160 down to 70

á í ó ú Á Í Ó Ú ç ã õ â ê ô

The practical effect is easy to see. «Mañana enviamos tu pedido a España» is 34 characters and rides GSM-7 comfortably, two ñ and all. Add «número» and that single ú turns the message into UCS-2: the limit drops from 160 to 70 and, if the text was long, from one SMS to two.

Portuguese gets the worse deal: lowercase ç, ã and õ are all outside the alphabet, so writing «ação» or «coração» is enough to fall to 70.

Two real cases, measured

These are two messages of the kind sent every day, run through this same SMS character counter. The figures come from executing them, not estimating.

Verification code · 61 characters

«Tu código de verificación es 4821. No lo compartas con nadie.»

No accents: GSM-7 · 1 SMS

With accents: UCS-2 · 1 SMS

Here the accents cost nothing: 61 characters still fit inside the 70 of UCS-2.

Shipping notice · 143 characters

«Hola Ana, tu pedido ya salió de nuestro almacén y llega mañana entre las 9 y las 14 h…»

No accents: GSM-7 · 1 SMS

With accents: UCS-2 · 3 SMS

Same text, same length: one «ó» triples the cost of the send.

The gap between those two cases is the point no other SMS character counter makes: what matters is not whether there are accents, but whether the message goes past 70 characters while carrying them. A short alert can afford them; a 143-character one cannot. Note too that the ñ in «mañana» never shows up among the culprits in either case.

What happens when you go over

The message is not truncated. It is split into several SMS that the recipient's phone reassembles, so they see one continuous text. What changes is what you pay.

Every part of a concatenated message carries a technical header saying how many parts there are and in what order. That header eats into the payload, so per-segment capacity drops:

Alphabet Single SMS Per segment when concatenated
GSM-7160153
UCS-27067

That detail has an accounting consequence that catches campaign senders out: a 161-character message does not cost «one and a bit», it costs two SMS, and the second one goes out nearly empty. Trimming the text back to 160 literally halves the bill.

The characters that count double

Inside GSM-7 itself there is a second category that almost no counter reflects. These are valid characters — they do not force UCS-2 — but they travel preceded by an escape code, so they take two units instead of one:

€ [ ] { } \ ~ ^ |

The one you will actually hit is the euro sign. Writing «€» three times spends six of your 160 units. Not dramatic, but it explains why the count sometimes fails to match expectations, and it is a fair reason to write «EUR» in messages running close to the limit.

The tool flags them separately so you do not confuse them with the characters that actually push the message into UCS-2.

Why other counters give you a different number

If you have tried several tools and they disagree, it is almost always one of these four reasons. None of them is a minor detail: all four change what you end up paying.

  • They do not detect the alphabet switch. They count to 160 no matter what, so a single accent has them telling you there is room to spare when the message has already been split.
  • They count characters instead of units. A correct SMS character counter has to count the extension-table symbols twice, the euro sign among them.
  • They forget the concatenation header. They divide by 160 instead of 153 once you pass one segment, and undercount the number of messages exactly when it matters most.
  • They treat emoji as one character. Most take two of the 70 units, because they live outside Unicode's basic plane.

This tool applies all four rules and shows you the breakdown, so you can check where each number comes from instead of taking it on trust.

Writing an SMS without losing capacity

Rewrite before you strip accents

Dropping the accent from «número» is a spelling mistake, and in a business message it shows. There is nearly always a phrasing that avoids it: «tu pedido 4821» instead of «tu pedido número 4821». The automatic conversion button is for when there is no alternative, not as a first move.

Watch what you paste

Smart quotes, em dashes and the single-character ellipsis are defaults in Word and Google Docs, and none of them are in GSM-7. A message drafted in a word processor can fall to 70 characters without a single accent in it. If that happens, the text cleaner normalises them in one pass.

Short links save more than you think

A long URL can swallow half the message, and it often carries encoded characters that stretch the count further. Shorten the link and re-check before sending.

The ñ is not the problem

Worth repeating, because the instinct is to remove it: «Espana» and «manana» save you nothing at all and make the message worse. Leave the ñ where it is.

Frequently asked questions

How many characters is one SMS?
It depends on the alphabet. An SMS carries 1,120 bits: if the text fits the GSM-7 alphabet each character takes 7 bits and 160 fit; if a single character falls outside that alphabet the whole message switches to UCS-2, each character takes 16 bits and only 70 fit.
Do accented characters reduce the SMS limit?
Some do and some do not, which is where most counters get it wrong. Acute-accented vowels (á í ó ú) are not in GSM-7 and drop the limit to 70. But ñ, é, ü and the inverted marks ¿ and ¡ are all in the alphabet and cost nothing extra.
Does the ñ make an SMS longer?
No. The ñ is part of the original GSM-7 alphabet, at positions 0x5D and 0x7D, so a message full of them still has the full 160 characters available. In Spanish text the character that usually breaks the limit is an acute-accented vowel, not the ñ.
What happens when I go over the limit?
The message is not truncated: it is split into several SMS that the receiving phone reassembles. Each part carries a header that eats into the payload, so per-segment capacity drops from 160 to 153 in GSM-7 and from 70 to 67 in UCS-2. Your carrier or platform bills every segment separately.
Why does the euro sign count as two characters?
Because it lives in the GSM-7 extension table rather than the basic one, and those characters are sent preceded by an escape code, taking two units instead of one. The same applies to square brackets, curly braces, backslash, tilde, caret and the vertical bar.
Can I use emoji in an SMS?
Yes, but they are expensive: they force UCS-2 and most of them take two of your 70 units because they sit outside Unicode's basic plane. A single emoji can cut your message to less than half its length.