Base64

Wandelt Text in und aus Base64 um, inklusive einer URL-sicheren Variante.

Text
Base64

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.