How is SMS length calculated—and what are the character variable limits in MyOperator SMS templates?
When should I use this guide?
Read this article before sending bulk or transactional texts so you can keep costs down, avoid unexpected multi-part billing, and ensure every handset reassembles long messages correctly.
1. Encoding rules at a glance
- GSM-7 (default for basic Latin letters, digits, standard punctuation).
- 1 segment = 160 chars.
- Concatenated = 153 chars per part.
- Unicode / UCS-2 (auto-selected when any non-GSM-7 character appears: Hindi, 中文, emoji, €, etc.).
- 1 segment = 70 chars.
- Concatenated = 67 chars per part.
2. Segment sizes & billing table
Encoding | Single-segment limit | Multi-part size | 2-part max | 3-part max |
|---|---|---|---|---|
GSM-7 | 160 chars | 153 chars/part | 306 chars | 459 chars |
Unicode | 70 chars | 67 chars/part | 134 chars | 201 chars |
Cost impact: A 320-char GSM-7 text (3 parts) is billed as 3 SMS; a 135-char Unicode text is billed as 3 SMS.
3. Practical examples
- GSM-7: “Your OTP is 123456” → 20 chars → 1 SMS.
- GSM-7 with escapes: “Hello {user}” → braces
{}each count as 2 chars → may exceed 160 sooner. - Unicode script: “आपका ओटीपी 123456” (Hindi) → Unicode selected → 1 SMS if ≤ 70 chars.
- Emoji: “Party 🎉 at 7 pm!” → single emoji flips entire text to Unicode → now only 70 chars fit.
4. Flip-side: Hidden reasons a message grows
- Escape characters in GSM-7 (
^ { } \ [ ] ~ | €) consume 2 char slots. - Invisible whitespace or copy-pasted non-breaking spaces switch to Unicode.
- Mixed language: even one emoji triggers Unicode for the whole text.
- Some older handsets fail to reassemble 4+ concatenated parts—keep messages short.
5. Best-practice checklist
- Stay within 160 GSM-7 / 70 Unicode characters whenever possible.
- Avoid emojis or special symbols unless brand-critical.
- Shorten URLs (bit.ly) but remember they still count as characters.
- Use an SMS length calculator before launching a campaign.
- Test concatenated messages on target devices/carriers.
6. Troubleshooting quick fixes
Issue | Likely cause | Fix |
|---|---|---|
Billed for 2 parts at 160 chars | Escape characters or hidden Unicode | Remove the special character or rewrite |
Emoji spiked cost | The entire message switched to Unicode | Replace emoji with plain text |
Segments reassemble poorly | Very long (4+) concatenated parts | Split into two shorter messages |
Still unclear | Capture the text, run it through MyOperator’s SMS length calculator, or contact Support |
7. Variable limits in DLT SMS templates
Can we increase the number of variables in one SMS?
- Yes, you can use more than one variable in a single SMS template.
Why the 30-character cap?
- DLT requires a fixed placeholder size so you can safely change dynamic content in the future without re-submitting the template for approval.
Keywords: SMS length calculation, GSM-7, Unicode, 160 characters, 70 characters, SMS segments, escape characters, emoji cost
Updated on: 08/01/2026