Base64-Encoder & -Decoder
Text in Base64 kodieren oder Base64 zurück in Text dekodieren. UTF-8-bewusst, unterstützt Zeichen außerhalb von ASCII.
- Text oder Base64-String in das Feld einfügen.
- Auf Kodieren klicken, um Text in Base64 umzuwandeln, oder Dekodieren, um Base64 zurück in Text umzuwandeln.
- URL-sicher aktivieren, wenn der Wert in eine URL oder ein JWT geht — verwendet - und _ und lässt Padding weg.
- Auf Kopieren klicken, um das Ergebnis in die Zwischenablage zu legen.
Was macht es?
Base64 kodiert beliebige Bytes als 64 druckbare ASCII-Zeichen, damit binärunsichere Transporte (JSON-Strings, URLs, E-Mail-Bodys, Umgebungsvariablen, HTTP Basic auth) sie ohne Beschädigung transportieren können. Dieses Tool verarbeitet UTF-8-Eingaben korrekt — es kodiert deinen String zuerst in UTF-8-Bytes und dann diese Bytes in Base64, sodass Nicht-ASCII-Zeichen sauber hin- und zurückgehen. Die Ausgabe ist etwa 33 % größer als die Eingabe (jede 3 Bytes werden zu 4 Zeichen).
Beispiel
Kodierung des Texts "Hello, world!":
SGVsbG8sIHdvcmxkIQ== Kodierung desselben Texts mit aktiviertem URL-sicher (Padding entfernt):
SGVsbG8sIHdvcmxkIQ Kodierung des Emoji-Texts "café ☕":
Y2Fmw6kg4piV Warum wird mein Base64-String nicht dekodiert?
- Diskrepanz zwischen standard und URL-sicher. Strings mit - oder _ sind base64url, kein standard Base64. URL-sicher-Kästchen umschalten, um passend zu machen.
- Fehlendes Padding. Die Länge eines standard Base64-Strings muss ein Vielfaches von 4 sein. SGVsbG8 schlägt fehl; SGVsbG8= funktioniert. Mit = auffüllen, bis die Länge durch 4 teilbar ist.
- Leerzeichen und Zeilenumbrüche im Wert. Einige Systeme umbrechen Base64 alle 76 Zeichen mit \n. Die meisten Decoder tolerieren das, strengere nicht. Vor dem Dekodieren Leerzeichen entfernen.
- Versehentlich zweimal dekodiert. Die Dekodierung von U0dWc2JHOA== ergibt SGVsbG8, was selbst ein Base64-String ist. Wenn deine Ausgabe wie mehr Base64 aussieht, dekodiere sie erneut.
- Nicht-UTF-8-Binärdaten. Wenn die dekodierten Bytes kein gültiges UTF-8 sind (z. B. ein PNG-Header), schlägt die Dekodierung als Text fehl oder zeigt Müll an. Für Binärdaten ein dateibewusstes Base64-Tool verwenden.
- Typografische Anführungszeichen oder sichtbares Auslassungszeichen. Das Kopieren aus einem Textverarbeitungsprogramm kann " durch geschwungene Anführungszeichen ersetzen oder lange Strings mit einem Auslassungszeichen abschneiden. Zuerst über einen reinen Texteditor einfügen.
Häufig gestellte Fragen
Was ist der Unterschied zwischen standard Base64 und URL-sicherem Base64?
Standard Base64 (RFC 4648) verwendet + und / und füllt mit = auf. URL-sicheres Base64 (base64url) ersetzt + durch - und / durch _ und lässt Padding normalerweise weg, damit der String unverändert als URL-Pfad oder Query-Parameter überlebt. JWTs verwenden base64url. Wähle das URL-sicher-Kästchen, wenn die Ausgabe in eine URL geht.
Verarbeitet dieses Tool Emojis und Nicht-ASCII-Text korrekt?
Ja. Die Eingabe wird zuerst als UTF-8-Bytes kodiert, dann werden diese Bytes in Base64 kodiert. Die Dekodierung kehrt beide Schritte um. Deshalb bekommt man beim Einfügen von "café" und Dekodieren des Ergebnisses "café" zurück, kein mojibake. Viele ältere Base64-Tools nehmen Latin-1 an und beschädigen alles außerhalb von ASCII.
Kann ich eine Binärdatei wie ein Bild oder ein PDF kodieren?
Diese Seite kodiert nur Text. Um eine Datei in Base64 zu kodieren, lege sie in ein Tool, das sie als Binärdatei liest (oder verwende die Browser-Konsole mit FileReader.readAsDataURL). Dieses Tool dient zum Kodieren von Strings — der typische Anwendungsfall beim Einbetten von Anmeldedaten, Konfig oder JSON-Feldern.
Warum sieht meine dekodierte Ausgabe wie Müll aus?
In der Regel war die Eingabe von Anfang an kein Base64, oder es war URL-sicheres Base64, das als standard dekodiert wurde (oder umgekehrt). Versuche, das URL-sicher-Kästchen umzuschalten. Eine weitere häufige Ursache ist die Dekodierung eines Strings, der tatsächlich Base64-kodierte Binärdaten und kein Text ist — in diesem Fall sind die Bytes kein gültiges UTF-8.
Spielt das =-Padding eine Rolle?
Standard Base64 füllt die Ausgabe so auf, dass ihre Länge ein Vielfaches von 4 ist. Die meisten Decoder akzeptieren Eingaben ohne Padding, manche strengen lehnen sie ab. URL-sicheres Base64 lässt Padding normalerweise weg. Wenn ein Decoder meckert, füge = hinzu, bis die Länge durch 4 teilbar ist, oder entferne alle und versuche es erneut.
Speichert ihr den Text, den ich kodiere oder dekodiere?
Nein. Wir speichern keinen Text, den du hier einfügst. Deine Eingabe wird in dem Moment verworfen, in dem du die Seite schließt oder aktualisierst — nichts wird aufbewahrt, und es gibt keine Aufzeichnung dessen, was du kodiert oder dekodiert hast. Wenn du eine zusätzliche Vertrauensebene möchtest, kannst du die developer tools deines Browsers überprüfen.