SMS Character Counter
Accurately count SMS characters with GSM-7 and UCS-2 encoding detection. See your segment count, remaining units, and a highlighted preview showing which characters cost extra or force UCS-2 encoding.
Character Preview
{ } [ ] € ^
⚠ Emoji ZWJ sequences and combining marks are counted by UTF-16 code units (matching Twilio/most gateways). This tool does not perform grapheme cluster splitting.
SMS Analysis
160 units/part
Estimated Send Cost
How parts (segments) are calculated
Encoding detection: Every character is checked against the GSM-7 character set (128 basic Latin + symbols). If any character is outside that set (emoji, Arabic, Chinese, many accented letters, etc.), the entire message switches to UCS-2 encoding.
Single-message limits: GSM-7 = 160 units per message · UCS-2 = 70 units per message.
Multi-part overhead: When a message exceeds the single-message limit it becomes concatenated (multi-part). Each part includes a User Data Header (UDH) that reduces usable space: GSM-7 = 153 units/part · UCS-2 = 67 units/part.
Parts formula: parts = ceil(total units ÷ per-part limit). A 161-unit GSM-7 message → ceil(161 ÷ 153) = 2 parts.
Billing: Carriers charge per part, not per message. Sending a 2-part message to 500 recipients = 1,000 billable parts.
SMS Encoding Reference
| Encoding | 1 Part | Multi-part |
|---|---|---|
| GSM-7 | 160 | 153/part |
| UCS-2 | 70 | 67/part |
Multi-part messages use a header that reduces per-part capacity. Parts: ceil(units ÷ per-part limit).
GSM-7 Extension Characters
Each costs 2 units (escape + char):