Count what a message costs in SMS parts

One emoji can double your bill — GSM-7 fits 160, Unicode fits 70, and concatenation trims both.

Tools used in this guide

The job

SMS bills per segment: 160 GSM-7 units in one, then 153 in each joined part; UCS-2 is 70 then 67. Which encoding you get is decided by the toughest character in the message — one emoji forces UCS-2 on the whole text.

Type the message

The counter watches live: encoding in use, unit count, segment count, and the per-segment limit. Extension-table chars (| ^ € { } [ ] ~ \) count as two units each.

Worked example

160 ASCII chars: 1 segment. Add one emoji: encoding switches to UCS-2 — 161 units → 3 segments. The difference between 'sent as 1' and 'billed as 3' is a single smiley.

Where it stops

Counts units, not graphemes — a ZWJ family emoji counts as its ~8 units. Some carriers add their own encoding quirks; treat the count as the technical cost, the bill as the carrier's arithmetic.