SMS character and segment counter
See how many messages you will be billed for before sending an SMS campaign, and why one Arabic letter or special symbol shrinks the limit.
Loading the tool…
Processing and privacy: The result is calculated inside your browser and your data is not sent to any server.
How to use it
- Enter text.
- The result appears straight away and updates as you edit.
- Copy the result, or copy a link that keeps the same values to share it.
How it is calculated
If every character is in the GSM 03.38 alphabet the encoding is GSM-7: 160 units for one message, 153 per part when split, and extension symbols such as € and { } take 2 units. Otherwise it is UCS-2: 70 units for one message, 67 per part, and emoji take 2 units. A symbol is never split across parts.
Example
Result: Message segments: 2; Encoding: UCS-2 (Unicode); Units used: 75.
عميلنا العزيز، طلبك رقم 4521 جاهز للاستلام من فرع الرياض. شكرا لتسوقك معنا.
ع م ي ل ن ا ز ، ط ب ك ر ق ج ه س ت ف ض ش و
Limits and caveats
- Some carriers swap characters such as ç for a GSM look-alike, so the real count can differ slightly.
- Assumes no national language shift tables are used.
Questions about this tool
Why is an Arabic SMS limited to 70 characters?
Arabic letters are not in the GSM-7 alphabet, so the message is sent as UCS-2 at 16 bits per character, which fits 70 characters instead of 160.
Why does the limit drop to 153 or 67 when split?
Each part of a long message carries a header so the phone can join the parts, and that header uses some of the space.
One character switched my English SMS to UCS-2. Why?
Any character outside GSM-7, such as an emoji or a curly apostrophe ’, switches the whole message to UCS-2. It is listed under characters outside GSM-7.
