What is the SMS Message Count Calculator?
This tool tells you how many SMS segments your text message will use, how it will be encoded (GSM-7 or UCS-2/Unicode), and how many characters remain before a new segment is added. Carriers bill per segment, so a single visible "message" can cost the price of several SMS if it spills over the limit.
How to use it
Paste or type your message, then pick an encoding mode. Auto-detect chooses GSM-7 if every character belongs to the GSM-7 alphabet, otherwise it falls back to UCS-2. You can also force either encoding to preview the cost difference.
The formula explained
A single-segment message holds 160 characters in GSM-7 or 70 in UCS-2. Once you exceed that limit, segments must carry a concatenation header, reducing capacity to 153 (GSM-7) or 67 (UCS-2) per segment. The number of segments is ceil(length / per-segment-limit).
$$\text{Segments} = \begin{cases} 1 & L \le 160 \\[4pt] \left\lceil \dfrac{L}{153} \right\rceil & L > 160 \end{cases} \qquad L = \text{GSM-7 length of }\text{Message}$$$$\text{Segments} = \begin{cases} 1 & L \le 70 \\[4pt] \left\lceil \dfrac{L}{67} \right\rceil & L > 70 \end{cases} \qquad L = \text{length of }\text{Message}$$
Worked example
A 200-character GSM-7 message exceeds the 160 single limit, so multipart applies: \(\lceil 200 / 153 \rceil = 2\) segments. Total capacity is \(2 \times 153 = 306\) characters, leaving \(306 - 200 = 106\) characters before a third segment would be needed.
FAQ
Why does my message split at 153, not 160? Multipart messages reserve 7 bytes per segment for the header that lets the phone reassemble them.
What forces UCS-2 encoding? Any character outside the GSM-7 alphabet — common emoji, curly quotes, or many accented letters — switches the whole message to UCS-2, cutting the limit to 70/67.
Do GSM-7 extended characters cost extra? Characters like {, }, [, ], |, ^, ~, \ and € take two units each in GSM-7 because they need an escape character.