How is SMS length calculated—and what are the character variable limits in MyOperator SMS templates?

How is SMS length calculated—and what are the character variable limits in MyOperator SMS templates?

⚡Quick answer-

SMS length depends on two encodings: GSM-7 (160 chars per single part) and Unicode/UCS-2 (70 chars per single part). When you exceed those limits—or use characters that trigger Unicode—your text is split into shorter “segments” (153 chars for concatenated GSM-7, 67 chars for concatenated Unicode). Each segment is billed as a separate SMS.

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

  1. GSM-7:  “Your OTP is 123456” → 20 chars → 1 SMS.
  2. GSM-7 with escapes:  “Hello {user}” → braces {} each count as 2 chars → may exceed 160 sooner.
  3. Unicode script:  “आपका ओटीपी 123456” (Hindi) → Unicode selected → 1 SMS if ≤ 70 chars.
  4. 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.

Important: The length of each variable is fixed at 30 characters—this limit cannot be increased.

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