bitlvl
DE

Base64 kodieren / dekodieren

Fügen Sie Text oder Base64 in eines der Felder ein; das andere aktualisiert sich. Ziehen Sie eine Datei hinein, um sie zu kodieren, oder dekodieren Sie Base64 in eine Datei. Alles passiert in Ihrem Browser.

Datei zum Kodieren hierher ziehen, oder

Die Ergebnisse und Meldungen dieses Tools werden auf Englisch angezeigt.

Wofür Base64 da ist

Base64 macht aus beliebigen Bytes Text aus 64 sicheren Zeichen: A–Z, a–z, 0–9, + und /. Jeweils 3 Bytes (24 Bit) werden zu 4 Zeichen mit je 6 Bit, die Ausgabe ist also ein Drittel größer als die Eingabe. Es existiert, weil viele Kanäle, darunter E-Mail, JSON, XML, HTTP-Header und URLs, nur Text transportieren können und rohe Bytes beschädigt oder falsch gelesen würden.

  1. 3 Bytes nehmen: 24 Bit.
  2. In vier 6-Bit-Gruppen teilen (Werte 0–63).
  3. Jede Gruppe durch ihr Alphabetzeichen ersetzen.
  4. Ist die Eingabelänge kein Vielfaches von 3, die letzte Gruppe mit Nullbits auffüllen und ein oder zwei = anhängen.

hi ist 0x68 0x69 = 01101000 01101001; neu gruppiert als 011010 000110 1001(00) ergibt das 26, 6, 36 → aGk, plus ein = für das fehlende Byte: aGk=.

Standard gegen URL-sicher

Die Zeichen + und / haben in URLs und Dateinamen besondere Bedeutung, deshalb definiert RFC 4648 §5 ein zweites Alphabet, das stattdessen - und _ verwendet, meist ohne Padding. JWTs, OAuth-Tokens und viele APIs verwenden diese „base64url“-Form. Der Decoder hier akzeptiert beide, mit oder ohne Padding, und ignoriert Zeilenumbrüche.

Es ist keine Verschlüsselung

Base64 verbirgt nichts; jeder kann es sofort dekodieren. Nutzen Sie es zum Transport von Bytes, nie zu deren Schutz. Wenn Sie in einer Konfigurationsdatei ein Base64-„kodiertes“ Geheimnis sehen, behandeln Sie es als Klartext.

Textkodierung

Base64 arbeitet auf Bytes, Text muss also zuerst in Bytes gewandelt werden. Dieses Tool verwendet UTF-8, was Web-APIs, JSON und fast alle moderne Software erwarten. Ein dekodiertes Ergebnis, das kein gültiges UTF-8 ist, wird als Hex gezeigt statt als Zeichensalat.

Fragen

Warum endet mein Base64 mit = oder ==?

Padding. Die Eingabelänge war kein Vielfaches von 3 Bytes, deshalb wurde der letzte Block aufgefüllt. Ein = heißt, zwei Bytes waren in der letzten Gruppe; == heißt eines. Viele Decoder akzeptieren Eingaben ohne Padding, und die URL-sichere Variante lässt es meist weg.

Ist Base64 sicher?

Nein. Es ist eine Kodierung, keine Verschlüsselung; jeder kann sie umkehren. Es schützt Daten davor, unterwegs beschädigt zu werden, nicht davor, gelesen zu werden.

Um wie viel vergrößert Base64 eine Datei?

Etwa 33 % (4 Ausgabebytes pro 3 Eingabebytes), plus bis zu 3 % mehr, wenn Zeilen für MIME umgebrochen werden.

Warum ist mein dekodierter Text Zeichensalat?

Meist waren die Daten gar kein Text (ein Bild, ein komprimierter Blob), oder der Text lag in einer anderen Kodierung als UTF-8 vor. Sehen Sie in die Hex-Ansicht: Ein führendes 89 50 4E 47 ist ein PNG, 1F 8B ist gzip, 25 50 44 46 ist ein PDF.

Was ist eine data:-URL?

Eine URL, die die Datei selbst enthält, z. B. data:image/png;base64,iVBOR… Damit lassen sich kleine Bilder oder Schriften direkt in HTML oder CSS einbetten. Der Encoder gibt Ihnen eine, wenn Sie eine Datei hineinziehen.

Lädt dieses Tool meine Datei hoch?

Nein. Die Datei wird von JavaScript in Ihrem Browser gelesen und nirgendwohin gesendet. Seite neu laden, und sie ist weg.