GSM-7 packs 160 characters per segment. Understand basic vs extension table characters (like the € symbol) to prevent accidental billable segment doubling.
The GSM 03.38 standard defines the 7-bit character encoding used by mobile networks to transmit SMS. Because GSM-7 uses 7 bits per character rather than 8-bit ASCII or 16-bit Unicode, a single 140-byte telecom payload fits exactly 160 characters (140 * 8 / 7 = 160). Knowing which characters fit into GSM-7 is the foundation of SMS engineering.
1 Standard GSM-7 Basic Character Set
The basic 7-bit alphabet includes Latin uppercase (A-Z), lowercase (a-z), digits (0-9), standard punctuation, and Greek capital letters (e.g. Δ, Φ, Γ, Ω). Every character in this set consumes exactly 7 bits.
2 The GSM-7 Extension Table (2-Septet Characters)
Certain characters require an escape septet (0x1B) followed by a secondary byte, consuming 2 septets (14 bits):
- Euro Symbol: €
- Curly Brackets: { and }
- Square Brackets: [ and ]
- Pipe Character: |
- Backslash: \
- Caret: ^
- Tilde: ~
Including a single € symbol counts as 2 characters against your 160-character segment limit.
Frequently Asked Questions • Character Encoding & Economics
Yes. SMSRiver provides a free, instant SMS Segment Calculator (/tools/sms-segment-calculator/) that detects encoding, character counts, and billable segments in real-time.