SMS Segment Calculator
Count SMS segments properly. Detects GSM-7 versus UCS-2 encoding, shows which characters forced the switch, and works out what a campaign costs per thousand messages once concatenation is accounted for.

One curly apostrophe turns a 160-character SMS into a 70-character one and triples your campaign bill. Paste your message to see the encoding, the exact segment count, and which characters are responsible.
What this tool does
Type or paste a message and the calculator reports the encoding it will be sent in, the number of characters counted against the limit, how many segments that produces, and the cost of sending it at whatever per-segment rate you enter.
Crucially it lists the offending characters. When a message drops to UCS-2 it is almost always because of one or two characters you did not mean to include — a smart quote pasted from Word, an em dash, an emoji — and knowing which ones lets you fix the message rather than shorten it.
A worked example
Message: Hi Sarah, you're booked for Tuesday at 2pm. Reply STOP to opt out.
Typed with a straight apostrophe, that is 66 GSM-7 characters — one segment. Paste the same sentence out of a word processor and the apostrophe becomes ’, which is not in the GSM-7 alphabet. The whole message switches to UCS-2, the limit drops to 70 characters, and it still fits in one segment — just.
Add a second sentence and the GSM-7 version stays on one segment while the UCS-2 version needs two. At scale that is a doubled bill for a character nobody can see.
Segment limits
| Encoding | Single message | Per segment when concatenated |
|---|---|---|
| GSM-7 | 160 characters | 153 characters |
| UCS-2 | 70 characters | 67 characters |
Concatenated messages lose characters to a user data header that tells the handset how to reassemble the parts, which is why the second column is smaller. Twilio's SMS character limit guide documents the same figures, and the GSM-7 alphabet itself is defined in the GSM 03.38 standard.
Characters that cost double in GSM-7
A handful of characters are in the GSM-7 extension table and consume two character slots each: ^, {, }, \, [, ], ~, | and €. A message full of curly brackets from a merge template can overflow a segment while appearing to be well under the limit.
Where people go wrong
Pasting from a word processor. Smart quotes, em dashes and non-breaking spaces all sit outside GSM-7. Compose in a plain text editor or run the message through here before sending.
Adding one emoji. A single emoji forces the entire message to UCS-2, cutting the limit from 160 to 70. It is the most expensive character you can add.
Forgetting the opt-out text. Reply STOP to opt out is 21 characters and is mandatory in most jurisdictions for marketing messages. Count it as part of the message, because the carrier will.
Ignoring merge field length. {{first_name}} is fourteen characters in your template and might be three or eleven when sent. Test with your longest realistic value.
Assuming the recipient sees segments. They do not — the handset reassembles them. You pay per segment; they read one message.
FAQ
Why does one emoji cost so much?
Because encoding is decided for the whole message, not per character. One character outside GSM-7 switches everything to UCS-2, and the limit more than halves.
Do all carriers use these limits?
The GSM-7 and UCS-2 limits are part of the SMS standard and apply universally. What varies is per-segment pricing and how many segments a carrier will concatenate.
Is a link counted in full?
Yes, every character of it. Shortened links are worth using for that reason alone, though some carriers filter public shorteners — a branded short domain is safer.
Does this apply to WhatsApp?
No. WhatsApp is priced per conversation rather than per segment, so message length is irrelevant to cost there. Use the WhatsApp API pricing calculator instead.
How do I keep messages in GSM-7?
Straight quotes, hyphens instead of dashes, no emoji, and a plain text editor. The tool flags anything that breaks the rule.
Next steps
Once you know the segment count, work out the campaign bill with the Twilio cost calculator. If the messages are going out through GoHighLevel, GoHighLevel SMS Automation covers building the sequences, and How to Automate Lead Generation covers what feeds them.
Sending at volume and seeing a bill that does not match the plan? Book a discovery call.

Want this built against your real numbers?
A 30-minute call to scope the workflow, agent, or automation you actually need.
More utility tools
All toolsCharacter Counter
Check character counts against platform limits for SEO, SMS, social, and ads
Color Picker
Get HEX, RGB, HSL, and CMYK values for any color — plus full palette generation
CSV Data Cleaner
Upload a messy CSV and get a clean one back. Deduplication, header normalisation, date and encoding fixes, with a preview of every change before you download.
Make.com Pricing Calculator
Calculate your exact Make.com plan and monthly cost based on operations and scenarios
n8n Hosting Cost Calculator
Compare self-hosted n8n against n8n Cloud on real monthly cost, including the server, database, backups and the maintenance hours self-hosting actually consumes. Shows the execution volume where each option wins.
No-Code Tool Comparison Matrix
Compare Make.com, Zapier, n8n, and GoHighLevel to find the right automation platform
Have a workflow that's burning hours every week?
Bring me one real bottleneck. I'll tell you whether it's worth automating, and what it would take.