How to use this tool
- Paste text or load a UTF-8 text file. Line endings are normalized to LF, as displayed.
- Compare the four length measures. A visible emoji can use several code points and bytes.
- Choose whether length counts include whitespace and set a custom maximum in the unit your destination requires.
- Expand SMS estimates to compare standard and toll-free packing. Check your provider before sending; nothing is sent here.
Try a known example
A😀 has two grapheme clusters, two code points, three UTF-16 units and five UTF-8 bytes. The combining sequence e + U+0301 has one grapheme cluster, two code points, two UTF-16 units and three UTF-8 bytes.
Try a working exampleQuestions and useful limits
Why do the four counts differ?
Grapheme clusters approximate user-perceived characters. Code points identify Unicode values; UTF-16 uses one or two units per value, and UTF-8 uses one to four bytes. Combined accents and emoji can contain multiple values. Ask your destination which measure its limit uses.
Are SMS segments guaranteed?
No. The estimate keeps browser grapheme clusters together and accounts for GSM extension characters and UTF-16 units. Providers may use different packing, smart encoding or limits. It does not send messages or calculate prices.
Does excluding whitespace change SMS estimates?
No. The optional whitespace policy affects the four length counters only. SMS always analyzes the complete original text, including spaces and LF line breaks.