Was ist dieses Tool?
Bei reinem ASCII-Text (englische Buchstaben, Ziffern, einfache Satzzeichen) sind Zeichenanzahl und Byte-Anzahl dieselbe Zahl — jedes Zeichen belegt in UTF-8 genau ein Byte. Sobald der Text Umlaute/Akzentbuchstaben, chinesische/japanische/koreanische Zeichen, Kyrillisch, Arabisch, Emoji oder die meisten anderen Nicht-ASCII-Zeichen enthält, gilt das nicht mehr: Ein einzelnes Zeichen kann in UTF-8 2, 3 oder 4 Bytes belegen, und in UTF-16 2 oder 4 Bytes.
Das ist immer dann wichtig, wenn ein System eine Byte-Grenze statt einer Zeichengrenze hat — SMS-Nachrichten, Datenbankspaltengrößen, API-Payload-Limits und einige Social-Media-Plattformen messen alle in Bytes, nicht in Zeichen, sodass derselbe Text je nach verwendeter Sprache oder Symbolen ein Limit still überschreiten kann.
Warum sollte man es nutzen?
- Ein Twitter/X-artiges Bio-Feld begrenzt dich nach Bytes, nicht nach Zeichen, und dein Name enthält ein Emoji — tippe ihn hier ein, um die tatsächlichen Byte-Kosten zu sehen, bevor das Formular ihn stillschweigend abschneidet.
- Die Datenbankspalte deiner App ist intern als VARCHAR(255) in Bytes definiert, und ein japanischer oder arabischer Produkttitel, der "kurz aussieht", wird ständig abgelehnt — füge ihn hier ein, um zu sehen, warum er tatsächlich dreimal so viele Bytes braucht wie ein Titel in lateinischer Schrift.
- Du schätzt ab, wie viele SMS-Segmente eine mehrsprachige Marketing-Nachricht braucht — da Mobilfunkanbieter nach Byte-Größe abrechnen und aufteilen, ist ein Blick auf die UTF-8/UTF-16-Byte-Anzahl hier besser als zu raten und eine überraschend hohe Rechnung zu bekommen.
- Eine API liefert einen kryptischen "Payload zu groß"-Fehler bei einem JSON-Feld mit strikter Byte-Längenprüfung, und der String sah in deinem Editor völlig unauffällig aus — das zeigt dir genau, wie viele Bytes dieser String wirklich kostet.
- Du vergleichst, warum derselbe Satz in einer Sprache mehr Speicherplatz braucht als in einer anderen — tippe jede Version ein und beobachte, wie die UTF-8-Byte-Anzahl bei chinesischem oder arabischem Text im Vergleich zur reinen ASCII-Version hochschnellt.
- Du musst prüfen, ob ein Emoji in einem Benutzernamen von einer pingeligen Validierungsregel als ein oder zwei Zeichen gezählt wird — dieses Tool zählt es so, wie ein Mensch es sehen würde, sodass du erkennst, ob das andere System es falsch macht.
Anleitung
- Text in das Feld eingeben oder einfügen.
- Zeichenanzahl, UTF-8-Byte-Anzahl und UTF-16-Byte-Anzahl darunter ablesen — sie aktualisieren sich beim Tippen.
Beispiel
Eingabe
Hello, 世界! 🌍Ausgabe
12 Zeichen, 19 UTF-8-Bytes, 26 UTF-16-BytesDer ASCII-Anteil („Hello, “ und „! “) belegt in UTF-8 1 Byte pro Zeichen. Jedes chinesische Zeichen belegt 3 Bytes, und das Emoji belegt 4 Bytes — deshalb sind die Byte-Anzahlen deutlich höher als die Zeichenanzahl.
Häufige Anwendungsfälle
- Prüfen, ob eine mehrsprachige Produktbeschreibung in eine Datenbankspalte passt, die durch Byte-Länge statt Zeichenanzahl definiert ist.
- Abschätzen der SMS-Segmentnutzung, da SMS nach Byte-Größe abgerechnet und aufgeteilt werden und nicht-lateinischer Text ein anderes Limit pro Segment hat.
- Überprüfen, ob ein API-Payload oder Formularfeld vor dem Absenden unter einem byte-basierten Größenlimit bleibt.
- Verstehen, warum eine „kurz aussehende“ Zeichenkette von einem System mit byte-basierter Längenprüfung abgelehnt wird.
UTF-8-Byte-Größe nach Zeichentyp
Die folgende Tabelle zeigt die typischen UTF-8-Byte-Kosten pro Zeichenkategorie — nützlich, um abzuschätzen, wie viel ein mehrsprachiger Text tatsächlich wiegt, bevor du ihn komplett einfügst.
| Zeichentyp | Beispiel | UTF-8-Bytes | UTF-16-Bytes |
|---|---|---|---|
| ASCII-Buchstabe/Ziffer | A, 7 | 1 | 2 |
| Akzentuiertes Latein (é, ñ, ü) | é | 2 | 2 |
| Kyrillisch / Griechisch / Hebräisch / Arabisch | д, α, א | 2 | 2 |
| CJK (Chinesisch, Japanisch, Koreanisch) | 世 | 3 | 2 |
| Die meisten Emoji (außerhalb der BMP) | 🌍 | 4 | 4 |
Häufig gestellte Fragen
Warum stimmen Zeichenanzahl und Byte-Anzahl nicht überein?
Unicode-Text wird als Bytes gespeichert, und wie viele Bytes jedes Zeichen benötigt, hängt von der Kodierung und dem Zeichen selbst ab. In UTF-8 belegen ASCII-Zeichen 1 Byte, die meisten Akzentbuchstaben sowie Kyrillisch/Griechisch/Hebräisch/Arabisch 2 Bytes, die meisten CJK-Zeichen 3 Bytes, und Emoji typischerweise 4 Bytes. Die Zeichenanzahl zählt einfach Symbole, unabhängig davon, wie sie gespeichert werden.
Welche Byte-Anzahl sollte ich für ein byte-begrenztes Feld verwenden?
Verwende die Kodierung, die das System tatsächlich zum Speichern oder Übertragen des Textes nutzt — die meisten modernen Web-APIs, Datenbanken und Dateien verwenden UTF-8, daher ist die UTF-8-Byte-Anzahl meist die relevante. Manche älteren Systeme (wie interne Windows/Java-String-Verarbeitung) verwenden UTF-16.
Zählt das Tool Emoji korrekt?
Ja. Viele Emoji werden intern als Paar von UTF-16-„Surrogat“-Code-Einheiten gespeichert, die naive Zählmethoden als 2 Zeichen zählen. Dieses Tool zählt Unicode-Codepunkte korrekt, sodass ein Emoji als 1 Zeichen gezählt wird — passend dazu, wie viele Zeichen eine Person tatsächlich sieht.
Ist das dasselbe wie das Wortzähler-Tool?
Nein — der Wortzähler konzentriert sich auf Wort- und Satzanzahl fürs Schreiben. Dieses Tool geht speziell um Byte-Größe im Vergleich zur Zeichenanzahl, was für technische Limits relevant ist, nicht für Wortanzahl-Anforderungen.
Wird mein Text irgendwohin hochgeladen?
Nein. Das Zählen erfolgt lokal in deinem Browser mit dem integrierten Text-Encoder von JavaScript; es wird nichts an einen Server gesendet.
Warum belegt dasselbe Zeichen in UTF-8 und UTF-16 unterschiedlich viele Bytes?
Die beiden Kodierungen verwenden völlig unterschiedliche Regeln, um Codepunkte auf Bytes abzubilden. UTF-8 nutzt je nach Zeichen 1 bis 4 Bytes, optimiert darauf, dass ASCII bei 1 Byte bleibt. UTF-16 nutzt für die meisten Zeichen 2 Bytes und nur für Zeichen außerhalb der Basic Multilingual Plane (wie die meisten Emoji) 4 Bytes — ein chinesisches Zeichen belegt daher in UTF-8 3 Bytes, in UTF-16 aber nur 2, während ein Emoji in beiden 4 Bytes belegt.
Wird ein Hautton- oder Familien-Emoji (aus mehreren verbundenen Zeichen) korrekt gezählt?
Das Tool zählt Unicode-Codepunkte, daher wird ein zusammengesetztes Emoji aus mehreren, durch einen Zero-Width-Joiner verbundenen Codepunkten (wie ein Familien-Emoji) als mehrere Zeichen gezählt, nicht als eins — passend dazu, wie der Text tatsächlich kodiert ist, auch wenn er als ein einzelnes Symbol dargestellt wird.
Was ist der Unterschied zwischen UTF-8-Byte-Anzahl und Zeichenanzahl bei reinem deutschem Text ohne Umlaute?
Bei Text, der nur ASCII-Buchstaben, Ziffern, Leerzeichen und einfache Satzzeichen verwendet, sind sie identisch — jedes Zeichen ist in UTF-8 genau 1 Byte. Die Lücke entsteht erst, sobald Umlaute (ä, ö, ü, ß), Symbole oder nicht-lateinische Schriften hinzukommen.
Kann ich damit die Zeichengrenzen von Twitter/X oder SMS exakt prüfen?
Dieses Tool liefert die reine Zeichen- und Byte-Anzahl, die Grundlage dieser Limits — Plattformen wenden aber manchmal eigene Gewichtungsregeln an (manche zählen z. B. bestimmte Emoji oder URLs unabhängig von der tatsächlichen Länge als feste Zeichenanzahl) — prüfe für Grenzfälle die spezifischen Regeln der Plattform und nutze dieses Tool, um die zugrunde liegenden Byte-Kosten zu verstehen.