So funktioniert Base64
Base64 (RFC 4648) stellt beliebige Bytes mit nur 64 druckbaren Zeichen dar: A–Z, a–z, 0–9, + und /. Dazu werden jeweils drei Byte (24 Bit) in vier Gruppen zu sechs Bit aufgeteilt, und jede Gruppe wird zu einem Zeichen. Geht die Länge der Daten nicht in Dreierblöcken auf, füllt das Gleichheitszeichen = die letzte Vierergruppe auf – das sogenannte Padding. Aus foo wird so Zm9v, aus f wird Zg==.
Weil aus drei Byte vier Zeichen werden, sind Base64-Daten etwa ein Drittel größer als das Original, mit Zeilenumbrüchen noch etwas mehr. Für Text arbeitet das Tool mit UTF-8: Umlaute, das Eurozeichen oder Emojis belegen mehrere Byte und werden korrekt kodiert. äöü ergibt w6TDtsO8.
Varianten im Überblick
| Variante | Merkmale | Typischer Einsatz |
|---|---|---|
| Standard (RFC 4648, Abschnitt 4) | + und /, Padding mit = | Konfigurationen, APIs, Kubernetes-Secrets |
| Base64url (RFC 4648, Abschnitt 5) | - und _ statt + und /, Padding oft weggelassen | URLs, Dateinamen, JSON Web Tokens |
| MIME (RFC 2045) | Zeilen mit höchstens 76 Zeichen | E-Mail-Anhänge |
| PEM (RFC 7468) | Zeilen mit 64 Zeichen zwischen -----BEGIN …----- und -----END …----- | Zertifikate und Schlüssel |
| Data-URI (RFC 2397) | data:<MIME-Typ>;base64, vor den Daten | kleine Bilder direkt in HTML oder CSS |
Das Tool erkennt beim Dekodieren beide Alphabete automatisch, entfernt PEM-Rahmen und Data-URI-Präfixe und ergänzt fehlendes Padding, solange die Schalter „tolerieren“ aktiv sind. Schalten Sie sie aus, meldet es jede Abweichung mit Position – praktisch, wenn Sie prüfen wollen, ob ein Wert exakt dem Standard entspricht.
Base64 ist keine Verschlüsselung
Base64 macht Daten nur transportfähig, es schützt sie nicht. Jeder kann den Wert ohne Schlüssel zurückverwandeln. Das betrifft viele Stellen, an denen Zugangsdaten auf den ersten Blick „unleserlich“ wirken:
- HTTP Basic Auth sendet
benutzer:passwortals Base64 im HeaderAuthorization: Basic YmVudXR6ZXI6cGFzc3dvcnQ=. Ohne HTTPS liest jeder mit. - Kubernetes-Secrets speichern ihre Werte im Feld
dataBase64-kodiert, aber nicht verschlüsselt. - JSON Web Tokens bestehen aus Base64url-Teilen, deren Inhalt jeder lesen kann – mehr dazu im JWT-Decoder.
Geheimnisse gehören deshalb in eine Secret-Verwaltung, nicht einfach Base64-kodiert in Konfigurationsdateien. Wie Sie das bei Containern sauber lösen, zeigt die Anleitung Docker Compose absichern. Zum sicheren Weitergeben von Zugangsdaten eignet sich ein verschlüsselter Dienst wie PrivateBin.
Base64 auf der Kommandozeile
Unter Linux ist das Programm base64 aus den GNU coreutils fast immer vorhanden. Achten Sie beim Kodieren auf echo -n bzw. printf: Ohne diese Option kodiert echo den abschließenden Zeilenumbruch mit, und aus geheim wird Z2VoZWltCg== statt Z2VoZWlt – ein häufiger Grund für fehlschlagende Anmeldungen.
printf '%s' 'geheim' | base64 # Z2VoZWlt
echo 'Z2VoZWlt' | base64 -d # geheim
base64 -w 0 bild.png > bild.b64 # ohne Zeilenumbruch
base64 -d bild.b64 > bild-kopie.png # zurück in eine Datei
openssl base64 -A -in bild.png # dasselbe mit OpenSSL
Ohne -w 0 bricht GNU base64 nach 76 Zeichen um – wie die MIME-Einstellung im Tool.
Häufige Fragen
Warum bekomme ich beim Dekodieren Zeichensalat?
Dann sind die Daten meist kein Text, sondern eine Datei, etwa ein Bild oder ein ZIP-Archiv. Das Tool erkennt solche Binärdaten, zeigt den erkannten Dateityp, eine Hex-Ansicht der ersten 256 Byte und bietet die Datei zum Herunterladen an. Seltener ist der Text in einer anderen Zeichenkodierung als UTF-8 gespeichert, etwa Windows-1252.
Was bedeuten die Gleichheitszeichen am Ende?
Sie sind Padding und füllen die letzte Vierergruppe auf, wenn die Daten nicht durch drei teilbar sind. Es gibt höchstens zwei davon. Base64url lässt sie häufig weg, weil die Länge auch so eindeutig ist. Das Tool ergänzt fehlendes Padding automatisch, solange „Fehlendes Padding tolerieren“ eingeschaltet ist.
Wann brauche ich die URL-sichere Variante?
Immer dann, wenn der Wert in einer URL, einem Dateinamen oder einem Cookie steht. + und / haben dort eine eigene Bedeutung und müssten sonst zusätzlich prozentkodiert werden. JSON Web Tokens verwenden grundsätzlich Base64url ohne Padding.
Lohnen sich Data-URIs für Bilder auf Webseiten?
Für sehr kleine Grafiken wie Symbole kann eine Data-URI eine zusätzliche Anfrage sparen. Bei größeren Bildern überwiegen die Nachteile: Die Daten wachsen um rund ein Drittel, der Browser kann das Bild nicht getrennt zwischenspeichern, und HTML oder CSS werden unübersichtlich. Beachten Sie außerdem, dass eine Content-Security-Policy data: für Bilder ausdrücklich erlauben muss.
Werden meine Dateien hochgeladen?
Nein. Das Tool liest Dateien direkt im Browser und rechnet dort; es findet keine Übertragung statt. Dateien bis 25 MB sind möglich, im Textfeld bis 5 MB Text und im Base64-Feld bis 10 MB.