Base64-Encoder und Decoder: Text und Daten online konvertieren

Text zu Base64 kodieren oder Base64 zurück in lesbaren Text dekodieren. Unterstützt UTF-8, funktioniert offline, und deine Daten verlassen den Browser nicht. Nützlich für JWT-Tokens, Data URIs, API-Authentifizierungsheader und E-Mail-Kodierung.

Eingabetext
tools.base64Encoder.base64Output

Was Base64 tatsächlich macht

Base64 nimmt Binärdaten und stellt sie mit nur 64 "sicheren" ASCII-Zeichen (A-Z, a-z, 0-9, +, /) plus = für Padding dar. Definiert in RFC 4648, existiert seit dem MIME-E-Mail-Standard Anfang der 1990er.

Warum gibt es das? Weil viele Systeme (E-Mail, JSON, URLs, XML) nur Text verarbeiten können. Wenn du ein PNG-Bild in eine JSON-Antwort oder einen E-Mail-Body stecken willst, kannst du nicht einfach rohe Bytes reinwerfen. Du musst sie erst als Text kodieren. Base64 ist der Standardweg dafür.

Der Trade-off: Base64 erhöht die Datengröße um exakt 33% (plus Padding). Alle 3 Bytes Eingabe werden zu 4 Zeichen Ausgabe. Ein 1MB-Bild wird ~1,33MB als Base64. Deshalb solltest du große Dateien nicht für Web-Auslieferung Base64-kodieren. Für kleine Assets (Icons unter 5KB, Font-Subsets) oder Daten, die durch reine Text-Kanäle müssen, ist der 33%-Overhead es wert.

Anleitung

  1. Oben Kodieren- oder Dekodieren-Modus wählen.
  2. Text (zum Kodieren) oder Base64-String (zum Dekodieren) in die Eingabe einfügen.
  3. Button drücken. Ergebnis erscheint sofort.
  4. Ausgabe kopieren. Für Data URIs selbst "data:image/png;base64," voranstellen.

Wann du das brauchst

JWT-Token-Payloads inspizieren

JWTs haben drei Base64url-kodierte Teile, getrennt durch Punkte. Den mittleren Teil (Payload) hier einfügen und dekodieren, um Claims zu sehen: User-ID, Ablaufzeit, Rollen. Ohne eine JWT-Bibliothek zu installieren.

Data URIs für Inline-Bilder erstellen

Ein kleines Icon direkt in CSS oder HTML einbetten ohne extra HTTP-Request? Bilddatei zu Base64 kodieren, dann verwenden als: background-image: url(data:image/png;base64,DEIN_STRING). Unter 5KB halten, sonst schadet es der Performance mehr als es hilft.

HTTP Basic Authentication Header

Basic Auth erfordert "benutzername:passwort" als Base64 kodiert im Authorization-Header. "admin:secretpass" hier einfügen, kodieren, und das Ergebnis in deinem API-Test-Tool oder curl-Befehl verwenden.

Kodierte API-Payloads debuggen

Manche APIs geben Base64-kodierte Felder zurück (AWS Lambda-Antworten, Kubernetes Secrets, SAML-Assertions). Den kodierten String hier einfügen, um zu sehen was drin ist. Kein Dekodier-Skript nötig.

Was du wissen solltest

1.

Base64 ist KEINE Verschlüsselung

Das ist das Missverständnis Nummer 1. Base64 ist trivial umkehrbar, jeder kann es dekodieren. Verwende es niemals um Passwörter, API-Keys oder sensible Daten zu "verstecken". Wenn du ein Passwort als Base64 in einer Konfigurationsdatei siehst, ist das ein Sicherheitsbug, keine Sicherheitsmaßnahme.

2.

URL-safe vs Standard-Base64

Standard-Base64 verwendet + und / die URLs kaputt machen. URL-safe Base64 (RFC 4648 §5) ersetzt sie durch - und _. JWTs verwenden URL-safe. Die meisten APIs verwenden Standard. Wenn deine dekodierte Ausgabe wie Müll aussieht, verwechselst du möglicherweise die Variante.

3.

Große Dateien nicht für Web Base64-kodieren

Ein 100KB-Bild als Base64 in deinem CSS bedeutet 133KB Text, der nicht separat gecacht werden kann, nicht lazy geladen werden kann, und dein Stylesheet aufbläht. Base64 nur für kleine Assets (< 5KB). Alles andere sollte eine normale Datei sein, die von einem CDN ausgeliefert wird.

4.

UTF-8-Kodierung ist wichtig

Base64 kodiert Bytes, nicht Zeichen. "Hello" in ASCII sind 5 Bytes. "Grüße" in UTF-8 sind 7 Bytes (ü = 2 Bytes, ß = 2 Bytes). Wenn du Text kodierst, müssen sich beide Seiten auf die Zeichenkodierung einigen. UTF-8 ist der sichere Standard. Nicht übereinstimmende Kodierung = verstümmelte Ausgabe.

Praxisbeispiele

JWT-Payload dekodieren

Der mittlere Abschnitt eines JWT-Tokens. Dekodieren zeigt die User-Claims.

Input

eyJ1c2VySWQiOjQyLCJyb2xlIjoiYWRtaW4iLCJleHAiOjE3MTY5OTIwMDB9

Output

{"userId":42,"role":"admin","exp":1716992000}

Credentials für Basic Auth kodieren

HTTP Basic Authentication erfordert base64("benutzername:passwort").

Input

admin:my-secret-password

Output

YWRtaW46bXktc2VjcmV0LXBhc3N3b3Jk

Funktionen

  • Kodieren und Dekodieren in einem Tool, Modus einfach umschalten
  • Volle UTF-8-Unterstützung (Deutsch, Japanisch, Emoji, alles funktioniert)
  • Mehrzeilige Eingabe kein Problem
  • Läuft vollständig im Browser, kein Server-Roundtrip
  • Kein Größenlimit außer dem Speicher deines Browsers
  • Kostenlos, keine Anmeldung, kein Tracking

Häufige Fragen

Warum macht Base64 meine Datei 33% größer?

Base64 bildet alle 3 Bytes Eingabe auf 4 ASCII-Zeichen ab. Das ist ein Verhältnis von 4/3 = 33,3% Zunahme. Plus 1-2 Padding-Zeichen (=) am Ende, wenn die Eingabelänge nicht durch 3 teilbar ist. Da führt kein Weg dran vorbei, das steckt im Encoding selbst.

Kann ich mit diesem Tool einen JWT-Token dekodieren?

Teilweise. JWTs verwenden Base64url-Kodierung (- und _ statt + und /). Der Payload (mittlerer Teil) dekodiert zu lesbarem JSON. Die Signatur (letzter Teil) dekodiert zu binärem Datensalat, weil es ein kryptografischer Hash ist. Dieses Tool verarbeitet sowohl Standard- als auch URL-safe Base64.

Ist Base64 dasselbe wie Verschlüsselung?

Nein. Absolut nicht. Base64 ist Kodierung, vollständig umkehrbar von jedem ohne Aufwand. Null Sicherheit. Wenn jemand dir sagt, seine API "verschlüsselt" Daten mit Base64, ist das ein Warnsignal. Für echte Verschlüsselung brauchst du AES-256 oder ähnliches.

Warum verwenden Kubernetes Secrets Base64?

Kubernetes speichert Secrets als Base64 in YAML/JSON-Manifesten, weil Binärdaten nicht direkt in YAML gehen können. Aber das bietet keine Sicherheit. Jeder mit kubectl-Zugang kann sie sofort dekodieren. Für echten Schutz brauchst du sealed-secrets oder externe Secret-Manager (Vault, AWS Secrets Manager).

Was ist der Unterschied zwischen Base64 und URL-Encoding?

Verschiedene Probleme, verschiedene Lösungen. URL-Encoding (Percent-Encoding) macht einzelne Zeichen URL-sicher indem es sie durch %XX ersetzt. Base64 konvertiert beliebige Binärdaten in einen Text-String. URL-Encoding für Query-Parameter mit Sonderzeichen. Base64 zum Einbetten von Binärdaten in Textformate.

Tipps und verwandte Workflows

  • JSON-Daten dekodiert? Für bessere Lesbarkeit ab in den JSON-Formatierer.
  • Sonderzeichen in einer URL? Die kodierst du mit dem URL-Encoder.
  • Datenintegrität nach dem Kodieren prüfen? Hash erzeugen mit dem Hash-Generator.
  • Wenn du Base64-Daten in einem QR-Code unterbringen willst, hilft der QR-Code-Generator.