Count SMS message characters, detect GSM-7 or Unicode encoding, and calculate text length with spintax support. Free online tool for optimizing your SMS marketing campaigns.
SMS messages have strict character limits due to technical constraints in how they're transmitted over cellular networks. Understanding these limits is crucial for businesses running SMS marketing campaigns, as exceeding the limit means your message will be split into multiple segments—each charged separately.
A single SMS can contain up to 160 characters when using GSM-7 encoding (standard Latin characters), or 70 characters when using Unicode encoding (required for emojis, Chinese, Arabic, and other non-Latin scripts).
When your message exceeds the single SMS limit, it's automatically split into multiple segments. Each segment includes a User Data Header (UDH)—a small piece of data that tells the receiving phone how to reassemble the message parts in the correct order.
The UDH takes up space in each segment, which is why multipart messages have lower character limits per segment (153 for GSM-7, 67 for Unicode) compared to single messages.
| Encoding | Single SMS | Multipart SMS |
|---|---|---|
| GSM-7 | 160 chars | 153 chars/segment |
| Unicode | 70 chars | 67 chars/segment |
Our SMS calculator supports spintax—a syntax for creating message variations. Use curly braces with pipe-separated options like {Hello|Hi|Hey} to create dynamic content that varies for each recipient.
When spintax is detected, the calculator shows the worst-case character countby selecting the longest option from each spintax group. This ensures your message will fit within the SMS limit regardless of which variation is sent.
Example:
{Hello|Hi} {friend|there}! Check out our {amazing|incredible|fantastic} deals.Worst case: "Hello friend! Check out our incredible deals." (47 chars)
Aim for under 160 characters to avoid multipart charges.
Emojis force Unicode encoding, reducing your limit to 70 chars.
Long URLs eat into your character limit quickly.
Always preview your message with this calculator first.
Emojis require Unicode encoding, which changes your SMS limit from 160 to 70 characters for a single message. Even one emoji will switch the entire message to Unicode encoding, significantly reducing your available characters.
Extended GSM characters include: € \ ^ { } [ ] ~ |. These characters are part of the GSM character set but require an escape character, so they count as 2 characters instead of 1. They don't trigger Unicode encoding like emojis do.
Our calculator shows the worst-case scenario by selecting the longest option from each spintax group. This ensures your message will fit within the SMS limit regardless of which random variation is sent to each recipient.
Multipart messages include a User Data Header (UDH) in each segment that tells the receiving phone how to reassemble the message. This header takes up 7 bytes, reducing the available space from 160 to 153 characters (GSM-7) or 70 to 67 characters (Unicode) per segment.