Base64
Wandelt Text in und aus Base64 um, inklusive einer URL-sicheren Variante.
Die Ausgabe erscheint hier
Was Base64 ist und warum es existiert
Base64 ist eine Möglichkeit, beliebige Binärdaten mit nur 64 einfachen, druckbaren Zeichen darzustellen: A–Z, a–z, 0–9 plus zwei Symbole. Es existiert, weil viele Systeme gebaut wurden, um Text zu transportieren, nicht rohe Bytes. E-Mail-Rümpfe, URLs, JSON-Zeichenketten, HTML-Attribute und HTTP-Header können alle durch beliebigen Binärinhalt beschädigt werden, lassen aber Base64-Text unverändert durch. Das Kodieren nach Base64 macht Binärdaten sicher zum Einbetten in diese reinen Textkanäle.
Der Kompromiss ist die Größe: Base64 stellt je drei Bytes als vier Zeichen dar, sodass die kodierte Form etwa 33 % größer ist als das Original. Das ist für kleine Payloads wie Tokens, kleine Bilder oder Schlüssel in Ordnung und der Grund, warum große Dateien in der Praxis selten Base64-kodiert werden.
Es ist Kodierung, keine Verschlüsselung
Das ist das Wichtigste, was man über Base64 verstehen muss: Es bietet keinerlei Sicherheit. Jeder kann Base64 sofort dekodieren – auch dieses Werkzeug. Es verbirgt nichts und schützt nichts. Wenn du Daten geheim halten musst, verschlüssele sie; Base64 macht Daten nur transportsicher, und das Kodieren eines Passworts oder API-Schlüssels verbirgt ihn nicht.
Standard- vs. URL-sicheres Base64
Standard-Base64 verwendet + und / als seine letzten beiden Zeichen und füllt das Ende mit =-Zeichen auf. Diese Zeichen haben in URLs und Dateinamen eine besondere Bedeutung, daher tauscht eine URL-sichere Variante + und / gegen - und _ und lässt die Auffüllung meist weg. Verwende die URL-sichere Option, wenn der kodierte Wert in einer Webadresse, einem Query-Parameter, einem Cookie oder einem Dateinamen auftaucht. JSON Web Tokens verwenden beispielsweise genau aus diesem Grund URL-sicheres Base64.
UTF-8 und Nicht-ASCII-Text
Die eingebauten Browserfunktionen btoa und atob verarbeiten nur Latin-1 und scheitern an Zeichen wie Hebräisch, Arabisch, Chinesisch oder Emojis. Dieses Werkzeug kodiert Text zuerst als UTF-8, sodass jedes Zeichen korrekt hin und zurück konvertiert wird. Das bedeutet, dass שלום und 😀 ohne Beschädigung kodiert und dekodiert werden – eine häufige Quelle von „Mojibake“ (verstümmeltem Text), wenn man zu den nativen Browserfunktionen greift.
- Kodieren: lesbaren Text eingeben oder einfügen und seine Base64-Form erhalten.
- Dekodieren: Base64 einfügen (Standard oder URL-sicher, mit oder ohne Auffüllung) und den Originaltext zurückerhalten.
Häufig gestellte Fragen
- Ist Base64 sicher oder verschlüsselt?
- Nein. Base64 ist eine umkehrbare Kodierung, keine Verschlüsselung. Jeder kann sie sofort dekodieren, verwende sie also nie, um Passwörter, Schlüssel oder persönliche Daten zu schützen.
- Unterstützt es Hebräisch, Arabisch und Emojis?
- Ja. Der Text wird vor Base64 als UTF-8 kodiert, sodass Zeichen wie שלום und 😀 ohne Beschädigung kodiert und dekodiert werden, anders als die eingebaute btoa-Funktion des Browsers.
- Was ist URL-sicheres Base64?
- Es ersetzt die Zeichen + und / durch - und _ und lässt die abschließende Auffüllung weg, sodass das Ergebnis sicher in URLs, Query-Strings, Cookies, Dateinamen und Tokens wie JWTs verwendet werden kann.
- Warum ist meine dekodierte Ausgabe leer oder falsch?
- Meist ist die Eingabe kein gültiges Base64 – sie kann abgeschnitten sein, Zeichen eines anderen Alphabets enthalten oder tatsächlich Klartext sein. Das Werkzeug akzeptiert Standard- und URL-sichere Eingaben und toleriert fehlende Auffüllung, aber die Bytes müssen trotzdem gültiges UTF-8 sein, um als Text angezeigt zu werden.
- Warum ist die kodierte Zeichenkette länger als das Original?
- Base64 kodiert je drei Bytes als vier Zeichen, sodass die Ausgabe etwa ein Drittel größer ist als die Eingabe. Dieser Mehraufwand ist dem Format inhärent.
- Brauche ich die Auffüllzeichen (=)?
- Die Auffüllung macht die Länge zu einem Vielfachen von vier und wird von strengen Dekodierern verlangt, aber dieses Werkzeug akzeptiert Eingaben mit oder ohne. URL-sicheres Base64 lässt die Auffüllung in der Regel weg.
- Wird meine Eingabe an einen Server gesendet?
- Nein. Kodierung und Dekodierung laufen vollständig in deinem Browser; nichts, was du einfügst, verlässt dein Gerät.