Utilia

Base64 kodieren und dekodieren

Kostenloser Base64-Encoder und -Decoder mit voller UTF-8-Unterstützung und URL-sicherer base64url-Option. Läuft komplett im Browser, nichts wird hochgeladen.

So kodieren und dekodieren Sie Base64

  1. Wählen Sie, ob Sie Text in Base64 kodieren oder Base64 zurück in Text dekodieren möchten.
  2. Tippen Sie Ihre Eingabe in das Textfeld oder fügen Sie sie ein. Umlaute, nicht lateinische Schriften und Emojis werden vollständig unterstützt.
  3. Soll das Ergebnis in einer URL, einem Dateinamen oder einem JSON Web Token landen, aktivieren Sie URL-sicher (base64url), um die base64url-Variante zu erhalten.
  4. Lesen Sie das Ergebnis ab und kopieren Sie es. Ist Ihre Eingabe beim Dekodieren kein gültiges Base64, erscheint eine Fehlermeldung statt eines unlesbaren Zeichensalats.

Was ist Base64?

Base64 stellt beliebige Bytes mit nur 64 druckbaren ASCII-Zeichen dar: den Großbuchstaben A–Z, den Kleinbuchstaben a–z, den Ziffern 0–9 und den beiden Symbolen + und /. Das Zeichen = dient am Ende als Auffüllung (Padding). Das Verfahren gibt es, weil viele Systeme für Text und nicht für rohe Binärdaten gebaut wurden. E-Mail-Inhalte, HTTP-Header, XML- und JSON-Dokumente sowie Data-URLs erwarten Zeichen, die Kopieren, Protokollieren und Übertragen unverändert überstehen.

Der Algorithmus arbeitet mit Gruppen von drei Bytes (24 Bit) und teilt sie in vier 6-Bit-Werte, die jeweils einem der 64 Zeichen entsprechen. Deshalb ist eine Base64-Ausgabe immer etwa 33 % größer als die Eingabe: Aus je 3 Bytes werden 4 Zeichen. Ist die Länge der Eingabe kein Vielfaches von drei, werden ein oder zwei = angehängt, damit die Länge der Ausgabe ein Vielfaches von vier ist. So wird etwa aus Hi die Zeichenfolge SGk= und aus Hello wird SGVsbG8=.

Text, Bytes und UTF-8

Base64 kodiert Bytes, keine Zeichen – Text muss also zuerst in Bytes umgewandelt werden. Dieses Tool verwendet dafür UTF-8, die Kodierung fast aller modernen Webseiten und APIs. Aus café wird damit Y2Fmw6k=, und ein Emoji wie 👍 (in UTF-8 vier Bytes lang) wird korrekt kodiert und beim Dekodieren wieder zum selben Emoji. Viele schnelle Skripte, die auf die ältere Browserfunktion btoa() setzen, scheitern an allem außerhalb von Latin-1; dieses Tool hat diese Einschränkung nicht.

Standard-Base64 und base64url

Standard-Base64 verwendet + und /, die in URLs und Dateipfaden eine besondere Bedeutung haben. Die URL-sichere Variante base64url ersetzt + durch - und / durch _ und lässt das Padding mit = meist weg. Dieses Format steckt in JSON Web Tokens (JWT), in vielen OAuth-Parametern und in URL-Kürzern. Aktivieren Sie URL-sicher (base64url), wenn Sie dieses Format brauchen, und lassen Sie die Option für E-Mail-Anhänge, Data-URLs oder Konfigurationsdateien, die Standard-Base64 erwarten, ausgeschaltet.

Base64 ist keine Verschlüsselung

Das ist das mit Abstand häufigste Missverständnis. Base64 ist eine Kodierung: Es gibt keinen Schlüssel und kein Geheimnis, und jeder kann sie im Handumdrehen rückgängig machen. Ein Passwort, einen API-Schlüssel oder personenbezogene Daten in Base64 zu kodieren, schützt sie in keiner Weise. HTTP-Basic-Authentifizierung überträgt zum Beispiel username:password in Base64 – deshalb darf sie nur über HTTPS genutzt werden. Wenn Sie Vertraulichkeit brauchen, verwenden Sie echte Verschlüsselung (etwa AES) oder einen Passwort-Hash (etwa Argon2 oder bcrypt), nicht Base64.

Datenschutz

Das Kodieren und Dekodieren geschieht ausschließlich lokal in Ihrem Browser per JavaScript. Ihr Text wird nie an einen Server gesendet, gespeichert oder protokolliert. Sie können also bedenkenlos Tokens oder Konfigurationswerte untersuchen. Das Tool verarbeitet nur Text; Dateien lassen sich nicht hochladen.

Häufige Fragen

Warum sieht mein dekodierter Text wie zufällige Zeichen aus?

Wahrscheinlich steht die Base64-Zeichenkette für Binärdaten wie ein Bild, eine komprimierte Datei oder verschlüsselte Inhalte und nicht für Text. Das Dekodieren liefert zwar gültige Bytes, aber keinen sinnvollen UTF-8-Text. Es kann auch passieren, wenn der ursprüngliche Text mit einem anderen Zeichensatz als UTF-8 kodiert wurde.

Warum meldet das Tool, mein Base64 sei ungültig?

Gültiges Base64 enthält nur die 64 erlaubten Zeichen plus optionales = als Padding, und seine Länge muss zur Gruppierung in 4 Zeichen passen. Typische Ursachen sind versehentlich mitkopierte Zeichen, eine abgeschnittene Zeichenkette oder eine base64url-Zeichenkette (mit - und _), die ohne die Option URL-sicher (base64url) dekodiert wird.

Kann ich Bilder oder andere Dateien kodieren?

Nein. Dieses Tool ist nur für Text gedacht. Um ein Bild in HTML oder CSS einzubetten, brauchen Sie ein Tool, das die rohen Bytes der Datei liest und daraus eine Data-URL erzeugt.

Ist Base64 sicher zum Speichern von Passwörtern?

Nein. Base64 kann jeder in Sekundenbruchteilen dekodieren. Passwörter sollten mit einem eigens dafür entwickelten, langsamen Hash-Verfahren wie Argon2, scrypt oder bcrypt gespeichert werden.

Was ist der Unterschied zwischen Base64 mit und ohne Padding?

Das Padding mit = sorgt nur dafür, dass die Länge der Ausgabe ein Vielfaches von vier ist; es enthält keine Information. Die meisten Decoder können die Daten auch ohne es wiederherstellen. base64url lässt das Padding meist weg, weil = in URLs selbst ein reserviertes Zeichen ist.