Über das Tool „Base64 kodieren & dekodieren“
Base64 schreibt beliebige Bytes mit 64 druckbaren Zeichen (A–Z, a–z, 0–9, + und /). So können Binärdaten über Kanäle reisen, die nur Text verarbeiten: JSON- und XML-Dokumente, E-Mails, HTTP-Header, Umgebungsvariablen oder data:-URLs in HTML und CSS. Aus je 3 Bytes werden 4 Zeichen, deshalb ist die kodierte Form etwa ein Drittel größer als das Original.
Dieses Tool wandelt Text (als UTF-8 kodiert) und Dateien in Base64 um und wieder zurück. Es unterstützt die URL-sichere Variante Base64url, optionales Padding und Zeilenumbrüche im MIME-Stil und versteht data:-URLs. Beim Dekodieren wird lesbarer Text sofort angezeigt; alles andere wird als Datei angeboten, wobei der Typ nach Möglichkeit aus den Daten erkannt wird.
Die Umwandlung läuft vollständig in Ihrem Browser. Dateien werden auf Ihrem Gerät gelesen, und nichts wird hochgeladen.
Anleitung
- Wählen Sie unter „Richtung“ die Option „Kodieren“ oder „Dekodieren“.
- Zum Kodieren wählen Sie „Text“ und tippen oder fügen den Text in „Zu kodierender Text“ ein – oder Sie wählen „Datei“ und eine Datei mit bis zu 25 MB. Aktivieren Sie „data:-URL-Präfix hinzufügen“, um eine fertige data:-URL zu erhalten.
- Passen Sie bei Bedarf die Optionen an: „URL-sicheres Alphabet (- und _)“, „Padding (=)“ und „Zeilen nach 76 Zeichen umbrechen“.
- Zum Dekodieren fügen Sie Base64 oder eine vollständige data:-URL in das Feld ein oder verwenden „Textdatei öffnen“. Lesbarer UTF-8-Text erscheint unter „Dekodierter Text“, andere Daten erscheinen unter „Dekodierte Datei“ mit Größe, Typ und einer Hex-Vorschau.
- Mit „Ergebnis kopieren“ oder „Text kopieren“, „.txt herunterladen“ oder „Datei herunterladen“ sichern Sie das Ergebnis, mit „Tauschen“ übernehmen Sie es in die andere Richtung, und mit „Leeren“ beginnen Sie von vorn.
Funktionen
- Text und Dateien: Text wird als UTF-8 umgewandelt, sodass Akzente, nicht lateinische Schriften und Emojis funktionieren. Dateien jedes Typs bis 25 MB werden unterstützt – ohne die Größen- und Unicode-Probleme der Browser-Funktion btoa.
- Standard- und URL-sicheres Base64: Erzeugen Sie wahlweise eines der beiden Alphabete, mit oder ohne Padding (=). Der Decoder akzeptiert beide Alphabete, fehlendes Padding, Leerzeichen und Zeilenumbrüche.
- Verständliche Prüfung: Ungültige Eingaben werden genau erklärt: welches Zeichen an welcher Position nicht erlaubt ist, eine Länge, die kein gültiges Base64 sein kann, oder Padding an der falschen Stelle.
- data:-URLs in beide Richtungen: Machen Sie aus einer Datei eine data:-URL mit ihrem MIME-Typ, oder fügen Sie eine data:-URL ein, um sie mit dem darin angegebenen Typ zu dekodieren.
- Ausgabe als Text oder Datei: Dekodierte Bytes, die gültiges UTF-8 sind, werden als Text angezeigt. Andere Daten werden zum Herunterladen angeboten: PNG, JPEG, GIF, WebP, PDF und ZIP werden an ihren ersten Bytes erkannt, Bilder nach Möglichkeit in einer Vorschau gezeigt, und die ersten 64 Bytes erscheinen als Hex-Dump.
Beispiele
Einen Header für Basic-Authentifizierung erstellen
Das Kodieren des Texts user:pa55word ergibt dXNlcjpwYTU1d29yZA==, das in den Header Authorization: Basic dXNlcjpwYTU1d29yZA== eingesetzt wird. Denken Sie daran, dass jeder, der den Header sieht, ihn wieder dekodieren kann.
Die Payload eines JSON Web Tokens lesen
Der mittlere Teil eines JWT ist Base64url ohne Padding. Das Dekodieren von eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkFkYSBMb3ZlbGFjZSJ9 zeigt {"sub":"1234567890","name":"Ada Lovelace"}. Die Signatur des Tokens wird dabei nicht geprüft.
Ein kleines Icon in CSS einbetten
Wählen Sie „Datei“, nehmen Sie ein kleines PNG und aktivieren Sie „data:-URL-Präfix hinzufügen“. Das Ergebnis beginnt mit data:image/png;base64, und lässt sich direkt in background-image: url(…) oder im src-Attribut eines <img> verwenden.
Eine von einer API gelieferte Datei speichern
Manche APIs liefern Dokumente als Base64-String innerhalb von JSON. Fügen Sie den String im Modus „Dekodieren“ ein: Handelt es sich um ein PDF, erkennt das Tool application/pdf, und „Datei herunterladen“ speichert es als decoded.pdf.
Einschränkungen und Hinweise
- Dateien bis 25 MB können kodiert und Textdateien bis 40 MB zum Dekodieren geöffnet werden. Sehr lange Ergebnisse werden im Feld als Vorschau angezeigt; Kopieren und Herunterladen verwenden immer das vollständige Ergebnis.
- Dateitypen werden nur bei PNG, JPEG, GIF, WebP, PDF und ZIP am Inhalt erkannt. Andere Binärdaten werden als .bin-Datei gespeichert, sofern keine data:-URL ihren Typ angibt.
- Text wird immer als UTF-8 behandelt. Base64 von Text in einer anderen Kodierung, etwa UTF-16 oder Windows-1252, wird nicht als Text angezeigt, sondern als Datei angeboten.
- Zeilenumbrüche, die Sie in ein Textfeld tippen oder einfügen, normalisiert der Browser zu LF. Text mit Windows-Zeilenenden (CRLF) wird daher mit LF kodiert. Kodieren Sie die Datei selbst, wenn es auf die exakten Bytes ankommt.
- Umgebrochene Ausgabe verwendet LF-Zeilenumbrüche. Striktes MIME verlangt CRLF, aber Decoder – auch dieser – akzeptieren beides.
- Base64 ist eine Kodierung, keine Verschlüsselung: Es schützt keine Daten, und jeder kann es dekodieren.
Häufige Fragen
Ist Base64 eine Form der Verschlüsselung?
Nein. Base64 ändert nur, wie Bytes aufgeschrieben werden, und zum Dekodieren ist kein Schlüssel nötig. Verwenden Sie es, um Daten über reine Textkanäle zu übertragen – niemals, um Passwörter oder andere Geheimnisse zu verbergen.
Warum endet Base64 oft mit = oder ==?
Base64 arbeitet in Gruppen von 3 Bytes. Ist die Länge der Eingabe kein Vielfaches von 3, wird die letzte Gruppe mit einem oder zwei =-Zeichen aufgefüllt, damit die Textlänge ein Vielfaches von 4 ist. Viele Formate wie JWTs lassen das Padding weg; dieser Decoder akzeptiert beide Formen.
Was ist der Unterschied zwischen Base64 und Base64url?
Base64url (RFC 4648, Abschnitt 5) ersetzt + durch - und / durch _, damit der Text ohne Maskierung in URLs und Dateinamen verwendet werden kann. Abgesehen von diesen beiden Zeichen – und dem meist fehlenden Padding – ist die Kodierung identisch.
Warum erhalte ich beim Dekodieren „Ungültige Länge“?
Base64-Text ohne Padding kann nie eine Länge von 4n + 1 Zeichen haben, denn ein Zeichen trägt nur 6 Bit – zu wenig für ein ganzes Byte. Meist wurde der Text beim Kopieren abgeschnitten oder ein Zeichen hinzugefügt.
Warum ist der Base64-Text größer als meine Datei?
Je 3 Bytes werden als 4 Zeichen geschrieben, deshalb ist der kodierte Text etwa 33 % größer als das Original (plus Zeilenumbrüche, wenn der Umbruch aktiviert ist). Das ist der Preis dafür, nur sichere, druckbare Zeichen zu verwenden.
Werden meine Dateien oder Texte hochgeladen?
Nein. Kodieren und Dekodieren erledigt JavaScript auf dieser Seite, und Dateien werden lokal gelesen. Es wird nichts an einen Server gesendet.