Base64 begegnet Entwicklern überall: in E-Mail-Anhängen, in Data-URIs im CSS, in JSON-Web-Tokens und in HTTP-Headern. Trotzdem hält sich hartnäckig das Missverständnis, Base64 sei eine Art Verschlüsselung. Das ist falsch. Base64 ist eine Kodierung – ein reversibles Umschreiben von Daten in ein anderes Zeichenformat, ohne jeden Schutz.
Das Problem, das Base64 löst
Viele ältere Übertragungswege wurden für reinen Text entworfen und kommen mit beliebigen Binärdaten nicht zurecht. Schickt man ein Bild oder eine ZIP-Datei direkt durch einen solchen Kanal, können einzelne Bytes als Steuerzeichen fehlinterpretiert werden und die Daten beschädigen. Base64 löst das, indem es beliebige Bytes in eine Folge von 64 garantiert harmlosen, druckbaren Zeichen übersetzt.
Wie die Umrechnung funktioniert
Der Trick liegt in der Bit-Arithmetik. Computer speichern Daten in Bytes zu je 8 Bit. Base64 gruppiert die Bits anders: Es nimmt jeweils 3 Bytes (also 24 Bit) und zerlegt sie in 4 Blöcke zu je 6 Bit. Mit 6 Bit lassen sich genau 64 verschiedene Werte darstellen – daher der Name. Jeder dieser Werte wird einem Zeichen aus dem Base64-Alphabet zugeordnet: den Buchstaben A bis Z, a bis z, den Ziffern 0 bis 9 sowie + und /.
Aus 3 Eingabe-Bytes werden so immer 4 Ausgabe-Zeichen. Geht die Datenmenge nicht glatt durch 3 auf, wird mit dem Füllzeichen = aufgefüllt – daher die typischen Gleichheitszeichen am Ende vieler Base64-Strings. Diesen Vorgang in beide Richtungen kannst du mit dem Base64 Encoder Decoder direkt ausprobieren: Text eingeben, kodieren, oder einen Base64-String einfügen und wieder zurückwandeln.
Warum Base64 die Größe erhöht
Weil aus 3 Bytes 4 Zeichen werden, wächst die Datenmenge um etwa ein Drittel, also rund 33 Prozent. Eine 9 Kilobyte große Datei belegt als Base64 also rund 12 Kilobyte. Das ist der Preis für die sichere Übertragbarkeit. Base64 ist deshalb kein Mittel zur Komprimierung, sondern bläht die Daten sogar auf.
Typische Einsatzgebiete
- Data-URIs: Kleine Bilder oder Schriften lassen sich als Base64-String direkt in HTML oder CSS einbetten, ohne separate Datei.
- E-Mail-Anhänge: Das MIME-Format kodiert Anhänge in Base64, damit sie unbeschadet durch Mailserver kommen.
- HTTP Basic Auth: Benutzername und Passwort werden Base64-kodiert im Authorization-Header übertragen.
- JSON Web Tokens: Die einzelnen Bestandteile eines JWT sind Base64-kodiert (genauer: in der URL-sicheren Variante).
Kodierung ist keine Verschlüsselung
Das ist der wichtigste Punkt: Base64 bietet keinerlei Sicherheit. Jeder kann einen Base64-String in Sekunden zurückwandeln, ohne Schlüssel und ohne Passwort. Wer Base64 sieht, sieht im Klartext lesbare Daten in leicht verschleierter Form. Sensible Informationen wie Passwörter dürfen niemals allein durch Base64 "geschützt" werden – dafür braucht es echte Verschlüsselung. Base64 dient ausschließlich der sicheren Transportform, nicht der Geheimhaltung.
Das erklärt auch, warum die Base64-Kodierung im Browser ablaufen kann, ohne dass Daten an einen Server geschickt werden müssen. Der Base64 Encoder Decoder arbeitet daher vollständig lokal.
Verwandte Werkzeuge
Häufig taucht Base64 zusammen mit anderen Kodierungen auf. Für das sichere Einbetten von Werten in Webadressen ist der URL Encoder Decoder zuständig. Wenn du strukturierte Daten prüfen und lesbar machen willst, hilft der JSON Validator. Weitere Entwickler-Tools findest du unter kotsch.tech/webtools.
Fazit
Base64 verwandelt beliebige Bytes in druckbare Zeichen, damit sie unbeschadet durch textbasierte Kanäle reisen. Es vergrößert die Daten um rund ein Drittel und bietet keinen Schutz. Wer das versteht, setzt es richtig ein – als Transportformat, nicht als Sicherheitsmaßnahme. Den Vorgang in beide Richtungen erledigt der Base64 Encoder Decoder sofort im Browser.