bitcalc

📝 Base64 Encoder/Decoder

Text ↔ Base64 — live codieren und decodieren.

Base64

{ } Base64 konvertiert? Jetzt JSON formatieren.

📝 Wofür Base64?

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

Was ist Base64?

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.

Typische Anwendungsfälle

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.

Base64 vs. Hex vs. URL-Encoding

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.

So funktioniert unser Encoder

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.

🧰 Wofür du den Encoder brauchst

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.

🧭 JWT decodieren — so liest du ein Token

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.

⚠️ Base64 ist keine Verschlüsselung

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.

= Warum steht am Ende manchmal ein Gleichheitszeichen?

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.

❓ Häufige Fragen

Ist Base64 sicher für Passwörter?

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.

Was ist der Unterschied zu Hex?

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.

Wo steckt Base64 noch überall drin?

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.

Wie erkenne ich Base64?

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).

📚 Quellen & Weiterlesen

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.