Ein einfaches Wort dekodieren
SGVsbG8gV29ybGQ=
Hello World
Das = am Ende ist Padding, denn Hello World ist 11 Bytes lang – also kein Vielfaches von 3. Beim Dekodieren wird es korrekt entfernt.
Base64-Zeichenfolgen und Dateien sofort kodieren oder dekodieren.
Zuletzt aktualisiert
Base64 ist ein Kodierverfahren, das Binärdaten mit 64 druckbaren Zeichen darstellt. Entwicklerinnen und Entwickler greifen immer dann darauf zurück, wenn ein rein textbasiertes System Bytes transportieren muss – etwa kleine, in HTML eingebettete Bilder, Tokens, E-Mail-Anhänge, Data-URLs, kopierbare Geheimnisse in Logs oder JSON-Felder, in denen Binär-Blobs landen.
Base64 ist eine *Kodierung*, keine Verschlüsselung. Ein Base64-String lässt sich praktisch sofort wieder zurücklesen – Base64 darf also niemals als Sicherheitsmaßnahme gelten. Alles, was in Base64 steckt, ist faktisch öffentlich, sofern es nicht *vor* der Kodierung verschlüsselt wurde.
Technisch nimmt Base64 jeweils 3 Bytes (24 Bit) und schreibt sie als 4 Zeichen aus einem festen 64er-Alphabet (A–Z, a–z, 0–9, +, /). Ist die Eingabelänge kein Vielfaches von 3, hängt der Encoder am Ende ein oder zwei = als Padding an. Deshalb enden Base64-Strings so oft mit =.
= füllen die letzte 4er-Gruppe auf und sind in vielen Base64-Strings völlig normal.Wähle „Encode“, wenn du Klartext oder eine Datei hast und eine Base64-Ausgabe möchtest. „Decode“ ist richtig, wenn du einen Base64-String hast und den Originalinhalt zurückbekommen willst.
Füge einen String in das Textfeld ein oder zieh eine Datei (Bild, PDF, was auch immer) in die Drop-Zone. Dateien werden direkt als data:-URL ausgegeben – fertig zum Einbetten in HTML oder CSS.
Beim Kodieren bekommst du den Base64-String. Beim Dekodieren den Originaltext – oder, falls die Eingabe eine Datei war, die wiederhergestellten Bytes als Download-Link.
Ein Klick auf den Kopier-Button legt das Ergebnis in der Zwischenablage ab. Alles läuft im Browser, deine Eingabe verlässt deinen Rechner nicht.
Die Bausteine, die dir immer wieder begegnen, sobald du mit Base64 arbeitest – definiert in RFC 4648.
| Element | Bedeutung | Beispiel |
|---|---|---|
| Alphabet | 64 Zeichen, die Standard-Base64 verwendet | A–Z, a–z, 0–9, +, / |
| URL-sicheres Alphabet | Wird in JWTs und URLs eingesetzt | A–Z, a–z, 0–9, -, _ |
| Padding | Füllt die letzte Gruppe auf, wenn die Länge kein Vielfaches von 3 ist | = oder == |
| Gruppengröße | Bytes pro kodiertem Block → 4 Ausgabezeichen | 3 Bytes → 4 Zeichen |
| Längenzuwachs | Die Ausgabe ist rund 33 % größer als die Eingabe | 100 B → 136 Zeichen |
| Data-URL | Inline-Einbettung einer Datei in HTML/CSS | data:image/png;base64,... |
SGVsbG8gV29ybGQ=
Hello World
Das = am Ende ist Padding, denn Hello World ist 11 Bytes lang – also kein Vielfaches von 3. Beim Dekodieren wird es korrekt entfernt.
{"role":"student","active":true}eyJyb2xlIjoic3R1ZGVudCIsImFjdGl2ZSI6dHJ1ZX0=
JWT-Tokens kodieren ihre Segmente genau auf diese Weise – deshalb beginnen JWT-Payloads fast immer mit eyJ, der Base64-Form von {".
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNgAAIAAAUAAen8GVAAAAAASUVORK5CYII=
Der Präfix gibt den Medientyp (image/png) und die Kodierung (base64) an. Alles nach dem Komma ist der Dateiinhalt selbst. Praktisch für winzige Bilder, die direkt mit der Seite geladen werden sollen.
Pj4/Pyc+Pg==
Pj4_Pyc-Pg
URL-sicheres Base64 ersetzt + durch - und / durch _, damit der Wert ohne weiteres Escapen in einer URL stehen kann. JWTs nutzen genau diese Variante.
=-Padding manuell entfernen und das Ergebnis dann an einen strikten Decoder verfüttern, der genau dieses Padding erwartet. (URL-sichere Decoder kommen meist auch ohne Padding klar, Standard-Decoder oft nicht.)= als Padding angehängt.atob() im Browser, Buffer.from(str, 'base64') in Node.js, base64.b64decode() in Python.=?= ist Padding. Base64 erzeugt für je 3 Bytes Eingabe genau 4 Zeichen. Ist die Eingabelänge kein Vielfaches von 3, werden ein oder zwei = ergänzt, damit die kodierte Länge ein Vielfaches von 4 bleibt.data:image/png;base64,...-URL packen. So wird das Bild direkt in HTML, CSS oder JSON eingebettet – ohne separaten Netzwerk-Request.