So funktioniert der Base64-Kodierer
Base64 ist eine Kodierung, die Binärdaten in 64 druckbare Zeichen umwandelt. Ihr Zweck ist nicht Verschlüsselung, sondern Daten sicher durch Kanäle zu bringen, die nur Text übertragen — als URL-Parameter, in einem JSON-String, im E-Mail-Text oder als Data-URI in HTML.
Typische Einsatzfälle
- API-Authentifizierung: bei HTTP Basic Auth werden Benutzername und Passwort Base64-kodiert in einen Request-Header geschrieben
- E-Mail-Anhänge: das MIME-Protokoll wandelt binäre Anhänge per Base64 in Text um
- Inline-Bilder: ein kleines Bild als
data:image/png;base64,...direkt in CSS oder HTML schreiben und einen Request sparen - JWT-Token: Header und Payload eines JWT sind Base64URL-kodiertes JSON
- Escaping-Probleme vermeiden: Inhalte mit Sonderzeichen kodieren, bevor sie in eine Konfigurationsdatei wandern
Zum Problem mit chinesischen Zeichen
Viele stellen fest, dass die Kodierung chinesischer Zeichen mit JavaScripts btoa() entweder einen Fehler wirft oder Kauderwelsch liefert. Der Grund: btoa akzeptiert nur Zeichen im Latin-1-Bereich, und Chinesisch liegt außerhalb. Dieses Werkzeug wandelt den Text zuerst mit TextEncoder in ein UTF-8-Byte-Array um und kodiert dieses dann als Base64 — Chinesisch, Japanisch und Emoji lassen sich damit korrekt kodieren und wiederherstellen. Beim Dekodieren läuft es umgekehrt: erst werden die Bytes gewonnen, dann mit TextDecoder in Text zurückverwandelt.
Standard-Base64 und URL-sicheres Base64
Der Standard-Zeichensatz enthält + und / sowie das abschließende = zum Auffüllen. Alle drei haben in einer URL eine Sonderbedeutung: + wird als Leerzeichen gelesen, / ist das Pfadtrennzeichen und = trennt Parameternamen vom Wert. Für URLs oder Dateinamen braucht man daher die URL-sichere Variante, in der + zu -, / zu _ wird und das abschließende = entfällt. JWT verwendet diese Variante.
Beim Dekodieren wandelt das Werkzeug URL-sichere Zeichen automatisch zurück, sodass beide Varianten funktionieren, ohne dass Sie etwas von Hand ändern müssen.
Häufige Fragen
Ist Base64 Verschlüsselung? Kann ich damit Passwörter schützen?
Nein, es ist nur eine Kodierung. Jeder kann sie bedingungslos dekodieren, ohne Schlüssel. Verwenden Sie Base64 niemals zum „Verschlüsseln" von Passwörtern, Schlüsseln oder privaten Daten. Das base in base64 steht für die 64 Zeichen des Alphabets und hat nichts mit einer „Basisversion von Verschlüsselung" zu tun.
Warum wird die Datei nach dem Kodieren größer?
Base64 stellt 3 Bytes mit 4 Zeichen dar, die Größe wächst also um etwa 33%. Das ist der notwendige Preis dafür, Platz gegen Kompatibilität zu tauschen. Wenn Sie wirklich kleiner werden wollen, nutzen Sie gzip statt Base64.
Lassen sich auch Bilder kodieren?
Diese Seite verarbeitet Text. Sie können ein Bild zuerst in Base64 umwandeln (oder auf der Kommandozeile base64 image.png verwenden) und dann mit der Textform hier arbeiten. Dateien direkt im Browser zu lesen ist technisch möglich, gehört aber zu einem Datei-Werkzeug, das die Seite später ergänzen kann.
Stören Zeilenumbrüche beim Dekodieren?
Nein. Vor dem Dekodieren entfernt das Werkzeug alle Leerzeichen — Leerzeichen, Zeilenumbrüche und Tabs —, sodass es mit und ohne Umbrüche funktioniert.