SMS Character Counter

The real SMS math, live: encoding detection (GSM-7 vs Unicode), the correct 160/153 or 70/67 budget, and the segment count that determines what a message actually costs to send.

Type a message to see its SMS segments.

0 Characters
0 Words

The emoji cliff, quantified

A 155-character plain message is one segment. Add a single 🎉 and it becomes three: the encoding flips to Unicode (70 per single segment, 67 concatenated) and the emoji itself costs two units. For a campaign of 10,000 messages billed per segment, that emoji just tripled the send cost. The panel above shows the detected encoding precisely so this cliff is never a surprise — draft plain, verify one segment, and add flair only if the math still works.

Frequently asked questions

Why is SMS not just "160 characters"?

Because 160 assumes the compact GSM-7 alphabet. A single character outside it — most emoji, curly quotes, many accented letters — switches the whole message to Unicode (UCS-2), where a segment holds only 70. And once a message needs multiple segments, each segment shrinks (153 or 67) to make room for stitching headers.

What are segments, and why do they matter?

Long messages are split into segments that carriers transmit separately and phones reassemble. Senders are billed per segment — a 200-character marketing text costs two, and adding one emoji makes it four (202 Unicode units ÷ 67). For bulk SMS, segment math is money.

Which characters secretly cost two?

Within GSM-7, the extended set — € [ ] { } ~ ^ \ | — costs two "septets" each. And watch pasted text from word processors: curly apostrophes (’) are NOT in GSM-7 and silently flip the entire message to the 70-character Unicode budget. This counter shows the detected encoding so the flip is visible.

Do links and phone numbers count normally?

Yes — SMS has no shorteners or special counting; every character is just a character. That is why serious SMS senders use short domains and strip words: at 160-or-70, each character is budget.

Segmentation follows the GSM 03.38 standard (160/153 septets for GSM-7 with extended characters costing two; 70/67 UTF-16 units for Unicode). Carrier behavior can vary at the margins. Nothing you type is transmitted or stored. See the methodology page.