Messaging
SMS length calculator
Count a text message the way a carrier does, and see how many segments it costs.
Free, no accountIn your browser
Nothing you type here is stored. The count updates as you type.
Result
Nothing to count yet
Type or paste a message and it is counted as you type.
What this is
This SMS character counter counts a message the way a carrier does, not the way a word processor does: it works out whether the text fits in the GSM-7 alphabet, how many billed units it comes to, and how many segments you will pay for.
A text message is not billed by the character. It is billed by the segment, and how much a segment holds depends on which alphabet the message needs. In the GSM-7 alphabet a single message holds 160 characters. One character outside that alphabet - a curly apostrophe pasted from a document, an emoji, an accented letter outside the GSM set - switches the whole message to UCS-2, where a single message holds 70.
A message too long for one segment is split, and each part carries a six-character header so the handset can put them back together. That is why the parts hold 153 and 67 rather than 160 and 70, and why a 161-character message costs two messages rather than one and a bit.
How to read the result
The headline is the billed units, the capacity of the segment you are in, the number of segments and the encoding. The findings say which encoding was chosen and why, name the first character that forced Unicode if one did, and list the characters that cost two septets each because they are in the GSM-7 extension table.
"Left in this segment" is how many more characters you can add before the message is split again. When it reads 0 you are exactly at a boundary, and the next character adds a whole segment.
Common mistakes
What goes wrong most often, and how to tell.
- Pasting from a word processorWord processors replace a straight apostrophe with a curly one and three dots with an ellipsis. Each is outside GSM-7, so a 100-character message silently becomes Unicode and halves its capacity.
- Counting an emoji as one characterMost emoji are outside the basic plane and are two 16-bit code units, so one emoji costs two of the 70. A single emoji also forces the whole message to Unicode.
- Assuming 160 always means one messageIt means one message only while the text is GSM-7. In Unicode the first boundary is at 70, and a long message is cut into 67-character parts.
Questions
What people ask about this tool.
- 160 if every character is in the GSM-7 alphabet, 70 if any character is not. A longer message is split into parts of 153 or 67, because each part carries a header so the handset can reassemble it.
- An emoji is not in the GSM-7 alphabet, so the whole message is sent as UCS-2, where a segment holds 70 characters instead of 160. Most emoji also count as two code units, not one.
- Yes. It is sent as two segments of up to 153 GSM-7 characters each, and you are billed for both. Carriers bill per segment, not per message as a person sees it.
- No. The counting happens as you type and nothing you enter is written down against you. The API route behind this tool keeps nothing either.
Use it from the API
The same check, as one request.