SMS-Zeichenlimit: GSM-7, Unicode & Segmente erklärt
SMS-Zeichenlimits erklärt: GSM-7, Unicode und Nachrichtensegmente
Kurzantwort: Eine SMS trägt 160 Zeichen mit GSM-7-Kodierung oder 70 Zeichen mit Unicode (UCS-2). Längere Texte werden in Segmente von 153 bzw. 67 Zeichen aufgeteilt — und pro Segment abgerechnet. Ein einziges Emoji oder typografisches Anführungszeichen schaltet die gesamte Nachricht auf Unicode um, senkt die Kapazität um 56% und verdreifacht oft die Kosten.
Zeichenlimits wirken wie Trivialwissen, bis man sie mit einer Million Nachrichten multipliziert. Eine Kampagne, die still von einem auf zwei Segmente rutscht, verdoppelt ihr Budget. Hier ist die Kodierungs-Mathematik im Detail — und wie Sie sie kontrollieren.
Warum liegt das SMS-Limit bei 160 Zeichen?
SMS reist in der Restkapazität von GSM-Signalisierungsrahmen: 140 Bytes (1.120 Bit) pro Nachricht. Wie viele Zeichen in 1.120 Bit passen, hängt allein davon ab, wie viele Bit jedes Zeichen braucht:
| Kodierung | Bit pro Zeichen | Einzel-SMS | Pro Segment (mehrteilig) |
|---|---|---|---|
| GSM-7 | 7 | 160 | 153 |
| UCS-2 (Unicode) | 16 | 70 | 67 |
GSM-7 packt ein Zeichen in 7 Bit, indem es nur ein festes 128-Zeichen-Alphabet unterstützt (plus Erweiterungstabelle). UCS-2 unterstützt praktisch jede Schrift und jedes Symbol, aber mit 16 Bit pro Zeichen — daher der Sprung von 160 auf 70.
Welche Zeichen enthält das GSM-7-Alphabet?
GSM-7 umfasst:
- Lateinische Buchstaben A–Z, a–z und Ziffern 0–9
- Gängige Interpunktion: . , ! ? : ; ' " ( ) + - * / = % & # @
- Eine Auswahl akzentuierter Buchstaben (é, ü, ñ, à, ö und weitere) sowie griechische Großbuchstaben
- Währungszeichen einschließlich Euro und Pfund
Die Erweiterungstabellen-Falle: Einige Zeichen — eckige Klammern, geschweifte Klammern, Backslash, Zirkumflex, senkrechter Strich, Tilde und das Eurozeichen — gehören zu GSM-7, kosten aber je zwei Zeichen, weil sie als Escape plus Code kodiert werden.
Was schaltet eine Nachricht stillschweigend auf Unicode um?
Alles außerhalb von GSM-7 zwingt die gesamte Nachricht in UCS-2 — ein Zeichen genügt. Die üblichen Verdächtigen:
- Typografische Interpunktion aus Word oder Google Docs: geschwungene Anführungszeichen, geschwungene Apostrophe, Geviertstriche, Auslassungspunkte als Einzelzeichen
- Emojis — jedes einzelne
- Nicht-lateinische Schriften: Chinesisch, Japanisch, Koreanisch, Arabisch, Hebräisch, Thai, das meiste Kyrillisch
- Unsichtbare Zeichen: geschützte Leerzeichen, Zero-Width-Joiner aus Copy-Paste
Der grausamste Fall ist der geschwungene Apostroph: optisch fast identisch mit dem geraden ASCII-Apostroph, verwandelt er eine 160-Zeichen-Nachricht in einen 3-Segment-Unicode-Versand.
Wie funktioniert die Nachrichtenverkettung?
Überschreitet eine Nachricht das Limit, wird sie in Teile zerlegt, die jeweils einen User Data Header (UDH) tragen — 6 Bytes, die dem Empfangsgerät sagen „dies ist Teil 2 von 3". Dieser Header verbraucht Nutzlast, daher sinkt die Kapazität pro Segment:
| Nachrichtenlänge (GSM-7) | Segmente | Abgerechnete Nachrichten |
|---|---|---|
| 1–160 Zeichen | 1 | 1 |
| 161–306 Zeichen | 2 | 2 |
| 307–459 Zeichen | 3 | 3 |
| 460–612 Zeichen | 4 | 4 |
Für Unicode liegen die Schwellen bei 70, dann 134, 201, 268. Das Telefon setzt die Teile zu einer Sprechblase zusammen — der Nutzer sieht die Aufteilung nie, Ihre Rechnung schon: Jedes Segment wird als volle Nachricht berechnet.
Was kosten Kodierungsfehler wirklich?
Nehmen Sie eine 155-Zeichen-Werbenachricht an 500.000 Empfänger zu 0,01 $ pro Segment:
- Sauberes GSM-7: 1 Segment × 500.000 = 5.000 $
- Derselbe Text mit einem Emoji: 70-Zeichen-Unicode-Segmente → 3 Segmente × 500.000 = 15.000 $
Ein Zeichen, 10.000 Dollar Unterschied. Das ist das häufigste stille Budgetleck im SMS-Marketing — und vollständig vermeidbar.
Wie bleiben Nachrichten in einem Segment? (6 Regeln)
- Kennen Sie Ihr echtes Limit. 160 für GSM-7, 70 für Unicode. Braucht Ihre Zielgruppe eine nicht-lateinische Schrift, planen Sie Texte von Anfang an auf 70/67.
- Entfernen Sie typografische Interpunktion. Normalisieren Sie Anführungszeichen, Apostrophe und Striche vor dem Versand zu ASCII. Automatisieren Sie das in Ihrer Pipeline — Menschen fügen aus Word ein.
- Behandeln Sie Emojis als kostenpflichtiges Feature. Im Marketing können sie ihre Kosten durch Engagement einspielen; in OTPs und Warnungen sind sie reine Verschwendung.
- Achten Sie auf die Erweiterungstabelle. Eckige und geschweifte Klammern, Tilde, Zirkumflex, senkrechter Strich und das Eurozeichen zählen in GSM-7 doppelt.
- Prüfen Sie Segmentzahlen in der API-Antwort. Gute Anbieter liefern Kodierung und Segmentzahl je Nachricht — alarmieren Sie, wenn sich der Wert einer Vorlage ändert.
- Vorsicht bei URLs und Personalisierung. Ein langer Link oder ein unerwartet langer Vorname kann eine Grenzfall-Vorlage ins nächste Segment schieben. Lassen Sie 10–15 Zeichen Reserve.
Gilt das auch für RCS oder WhatsApp?
Nein — RCS, WhatsApp und andere IP-Kanäle nutzen weder GSM-Kodierung noch 140-Byte-Rahmen; es gibt kein 160-Zeichen-Limit und keine Segmentabrechnung. Aber jede RCS- oder Rich-Channel-Kampagne braucht ein SMS-Fallback, und dieser Fallback-Text gehorcht jeder Regel dieses Leitfadens.
Die ViteMobile-API liefert Kodierung und Segmentzahl für jede Nachricht, und das Dashboard markiert Vorlagen mit driftender Segmentzahl — damit ein eingefügtes typografisches Anführungszeichen auffällt, bevor es sich über eine Million Sendungen multipliziert.
Wichtigste Erkenntnisse
- Eine SMS = 140 Bytes: 160 GSM-7-Zeichen oder 70 Unicode-Zeichen. Mehrteilige Segmente fassen 153/67.
- Ein einziges Nicht-GSM-Zeichen — ein Emoji, ein geschwungenes Anführungszeichen — schaltet die ganze Nachricht auf Unicode und kann die Kosten verdreifachen.
- Manche GSM-7-Zeichen (Klammern, Eurozeichen, Tilde) zählen stillschweigend doppelt.
- Normalisieren Sie Interpunktion automatisch, lassen Sie Reserve für Personalisierung und überwachen Sie Segmentzahlen je Vorlage in der Produktion.
Häufig gestellte Fragen
F: Wie viele Zeichen passen in eine SMS? A: 160 mit GSM-7, 70 mit Unicode. Längere Nachrichten teilen sich in Segmente von 153 (GSM-7) bzw. 67 (Unicode), jedes als eigene Nachricht berechnet.
F: Warum wurde meine SMS in mehrere Nachrichten aufgeteilt? A: Sie überschritt das Limit, oder ein Sonderzeichen schaltete sie auf Unicode. Verkettungs-Header reduzieren jeden Teil auf 153/67 Zeichen, jeder Teil wird separat berechnet.
F: Zählen Emojis als mehr Zeichen? A: Ja — jedes Emoji zwingt die ganze Nachricht in Unicode (70-Zeichen-Limit), und die meisten belegen selbst zwei Code-Einheiten. Ein Emoji kann aus 1 Segment 3 machen.
F: Welche Zeichen brechen GSM-7? A: Geschwungene Anführungszeichen und Apostrophe, Geviertstriche, Auslassungspunkte als Einzelzeichen, geschützte Leerzeichen und jede nicht-lateinische Schrift. Klammern und Eurozeichen bleiben GSM-7, zählen aber doppelt.
F: Wie halte ich meine SMS in einem Segment? A: Gegen das richtige Limit zählen, typografische Interpunktion automatisch zu ASCII normalisieren, Emojis im Transaktionalen vermeiden, Reserve für Personalisierung lassen und die von der API gelieferte Segmentzahl überwachen.