How is SMS length calculated and why does a longer message sometimes send as multiple SMS parts?
Every extra SMS segment increases cost and may affect delivery (delays, failed concatenation on some handsets). Knowing encoding and segmentation lets you write messages that are cheaper and more reliable.
Tip: Some characters (like the caret^,{,},\,[,],~,|, and the euro sign) use an escape in GSM‑7 and count as 2 characters. These can unexpectedly push you into the next segment.
Tip: A single emoji counts as a Unicode character; a string of emoji or mixed Unicode/GSM content will switch the whole message to Unicode, reducing your per-segment capacity.
Encoding | Single segment | Concatenated segment size | 2 segments max | 3 segments max |
GSM‑7 | 160 chars | 153 / segment | 306 chars | 459 chars |
Unicode (UCS‑2) | 70 chars | 67 / segment | 134 chars | 201 chars |
Hello {user} → if { or } are in the GSM escape table they may count as 2 characters and can push you over 160.नमस्ते (Hindi) → switches to Unicode; if length ≤ 70 → 1 SMS; if longer, uses 67 char segments.Party 🎉 at 7pm! → emoji triggers Unicode → per-segment capacity falls from 160→70.