Base64
{ } Base64 konvertiert? Jetzt JSON formatieren.
Text ↔ Base64 — live codieren und decodieren.
{ } Base64 konvertiert? Jetzt JSON formatieren.
Base64 kodiert Binärdaten in druckbare ASCII-Zeichen — verwendet in E-Mail-Anhängen, Data-URIs, JWT-Tokens und Konfigurationsdateien.
📝 Base64 — Das Schweizer Taschenmesser der Textkodierung
Base64 ist ein Kodierungsverfahren, das Binärdaten in eine druckbare ASCII-Zeichenkette umwandelt. Es nutzt einen 64-Zeichen-Alphabet (A–Z, a–z, 0–9, +, /) und stellt je 6 Bit des Eingabestroms als ein Base64-Zeichen dar. Das Ergebnis ist etwa 33% größer als die Originaldaten — der Preis für die Übertragbarkeit in textbasierten Protokollen. Das Gleichheitszeichen = dient als Padding, wenn die Eingabe nicht durch 3 teilbar ist.
JWT-Tokens: JSON Web Tokens bestehen aus drei Base64-kodierten Segmenten (Header, Payload, Signatur) — mit unserem Decoder analysierst du den Inhalt in Sekunden.
Data-URIs: Bilder, Schriftarten oder SVGs werden als data:image/png;base64,... direkt in HTML/CSS eingebettet — kein separater HTTP-Request nötig.
E-Mail-Anhänge (MIME): Jeder Dateianhang in einer E-Mail wird via Base64 kodiert — deshalb sind Mails mit Anhängen ca. ⅓ größer als die reine Dateigröße.
Basic Authentication: HTTP Basic Auth sendet username:password als Base64-String im Authorization-Header.
Kubernetes Secrets / Docker Configs: Sensitive Werte in K8s-Manifesten und .dockerconfigjson sind Base64-kodiert.
CSS background-images: Kleine Icons lassen sich als Base64-Daten-URI direkt in Stylesheets einbetten und sparen HTTP-Requests.
Hexadezimale Kodierung braucht 2 Zeichen pro Byte (100% Overhead), Base64 nur 1,33 Zeichen pro Byte (33% Overhead) — Base64 ist also deutlich kompakter. URL-Encoding (%20 für Leerzeichen) ist für Query-Strings optimiert, nicht für Binärdaten. Für menschenlesbare Debug-Ausgaben ist Hex oft praktischer, für Datenübertragung ist Base64 der Standard.
Die Kodierung und Dekodierung läuft live beim Tippen — du gibst links Text ein, rechts erscheint sofort das Base64-Äquivalent. Der Decoder arbeitet bidirektional: Auch Base64-Input wird live zurück in Klartext gewandt. Alles passiert clientseitig in deinem Browser. Keine Daten werden an einen Server gesendet.
Ein JWT-Token aus einem Auth-Log oder der Browser-Console willst du schnell lesen können. Ein Bild willst du als Data-URI direkt in HTML oder CSS einbetten, statt eine Extra-Datei zu hosten. Oder du stolperst über API-Credentials in einer Config und fragst dich, was da eigentlich drinsteht. In allen drei Fällen hilft der Decoder: Text oder Base64-String einfügen, und die umgekehrte Darstellung erscheint live — ohne dass irgendetwas deinen Browser verlässt.
Kopiere das komplette Token aus dem Log — es sieht aus wie eyJhbGciOi... und besteht aus drei durch Punkte getrennten Teilen.
Füge den Token ins linke Feld ein. Der Decoder zeigt dir die drei Segmente: Header (Algorithmus und Typ), Payload (die eigentlichen Claims) und Signatur.
Lies den Payload aus — Achtung: Er ist nur Base64-kodiert, nicht verschlüsselt. Jeder, der das Token sieht, kann ihn lesen. Pack also niemals Geheimnisse oder Passwörter in den Payload.
Der häufigste Denkfehler: Base64 sieht nach „Geheimcode“ aus, ist aber nur eine Kodierung — wie eine andere Schreibweise desselben Textes. Jeder mit einem Base64-Decoder (wie diesem hier) hat den Klartext in Sekunden. Es gibt keinen Schlüssel, keinen Schutz, keine Integritätssicherung. Wer Daten wirklich schützen will, braucht Verschlüsselung (etwa AES) — und selbst dann gilt: niemals eigene Krypto basteln.
Base64 verarbeitet die Eingabe in 3-Byte-Blöcken (24 Bit), die in vier 6-Bit-Zeichen aufgeteilt werden. Bleibt am Ende ein Rest von einem oder zwei Bytes, wird mit einem oder zwei Gleichheitszeichen (=) aufgefüllt, damit die Länge wieder durch 4 teilbar ist. Ein einzelnes = heißt: 1 Byte Rest. Zwei ==: 2 Bytes Rest. Kein =: Die Eingabe war glatt durch 3 teilbar. Das Padding ist übrigens kein optionales Extra — manche Parser werfen ohne das Gleichheitszeichen einen Fehler.
Nein. Base64 ist eine reine Kodierung — jeder kann deinen String dekodieren. Passwörter gehören in einen langsamen Hash-Algorithmus mit Salt (bcrypt, Argon2), niemals in Base64.
Beide kodieren Bytes als Text, aber Base64 ist deutlich kompakter: Es braucht 4 Zeichen für 3 Bytes (33 % Overhead), Hex 2 Zeichen pro Byte (100 % Overhead). Eine 1-KB-Datei wird als Base64 rund 1,33 KB groß, als Hex 2 KB.
MIME-E-Mail-Anhänge (deshalb sind Mails mit Anhang größer als die Datei), Kubernetes-Secrets (nur Base64 — das Secret selbst ist nicht verschlüsselt!), CSS-Data-URIs für Bilder und Fonts, JWT-Tokens, HTTP Basic Auth und .dockerconfigjson.
Am Zeichensatz: nur A–Z, a–z, 0–9, + und / — oft mit ein bis zwei Gleichheitszeichen am Ende. Typische Längen sind Vielfache von 4. Siehst du eyJ..., ist es mit hoher Wahrscheinlichkeit ein JWT (Base64url).
Die offizielle Spezifikation ist RFC 4648 (Base16, Base32, Base64). Den Unterschied zwischen Kodierung, Hashing und Verschlüsselung erklärt unser Blogbeitrag Encoding vs. Hashing vs. Encryption. Und wenn der Base64-String eigentlich JSON war: JSON Formatter.
{ } Base64 verstanden? Dann formatiere jetzt dein JSON — unser Formatter macht aus komprimierten API-Responses lesbaren Code mit einem Klick.