Base64 Encoder/Decoder
Text in Base64 kodieren und Base64 wieder in Text dekodieren.
Was ist Base64?
Base64 ist ein Verfahren, um beliebige Binärdaten oder Text als reinen ASCII-Text darzustellen – nützlich überall dort, wo nur Text übertragen werden kann, etwa in E-Mails, URLs oder JSON-Dateien.
So funktioniert es
Beim Kodieren wandelt das Tool deinen Text zuerst mit TextEncoder in UTF-8-Bytes um. Je drei Bytes (24 Bit) werden dann in vier Gruppen zu 6 Bit zerlegt, und jede Gruppe wird durch eines von 64 Zeichen ersetzt: A–Z, a–z, 0–9, + und /. Bleiben am Ende ein oder zwei Bytes übrig, füllt das Gleichheitszeichen = die Vierergruppe auf. Die eigentliche Umwandlung übernimmt die Browser-Funktion btoa.
Beim Dekodieren läuft es umgekehrt: Leerzeichen am Anfang und Ende werden entfernt, atob macht aus den Zeichen wieder Bytes, und TextDecoder liest diese streng als UTF-8-Text. Sind die Bytes kein gültiges UTF-8, bricht das Tool mit einer Meldung ab, statt unleserliche Ersatzzeichen auszugeben. Dadurch funktionieren auch Umlaute und Emojis: Aus „ä“ (zwei Bytes in UTF-8) wird w6Q=.
Beispiel
Der Text „Hallo Welt!“ wird zu SGFsbG8gV2VsdCE= kodiert – und lässt sich mit dem Modus „Base64 → Text“ wieder zurückwandeln. Die 11 Bytes ergeben 16 Zeichen; das = am Ende zeigt, dass die letzte Dreiergruppe nur zwei Bytes enthielt.
Zweites Beispiel
Beim manuellen Testen eines HTTP-Basic-Auth-Headers wird „benutzer:passwort“ zu YmVudXR6ZXI6cGFzc3dvcnQ= kodiert und als Authorization: Basic YmVudXR6ZXI6cGFzc3dvcnQ= im Request-Header gesetzt. Umgekehrt lässt sich ein solcher Header mit dem Modus „Base64 → Text“ schnell zurückdekodieren, um zu prüfen, welche Zugangsdaten eine alte Konfiguration tatsächlich verwendet.
Schritt für Schritt
- Wähle oben die Richtung: „Text → Base64“ oder „Base64 → Text“.
- Gib den Text bzw. die Base64-Zeichenkette in das Eingabefeld ein. Das Ergebnis erscheint bereits beim Tippen; „Umwandeln“ startet die Umwandlung erneut.
- Erscheint „Ungültige Base64-Eingabe.“, prüfe die Zeichenkette auf fehlende oder fremde Zeichen. Lautet die Meldung, die Daten seien kein gültiger UTF-8-Text, ist die Base64-Kodierung zwar korrekt, enthält aber vermutlich Binärdaten wie ein Bild.
- Übernimm das Ergebnis mit „Kopieren“.
Größenzuwachs durch Base64
Aus n Bytes werden immer 4 × aufgerundet(n ÷ 3) Zeichen:
| Original (Bytes) | Base64 (Zeichen) | Zuwachs |
|---|---|---|
| 1 | 4 | +300 % |
| 3 | 4 | +33 % |
| 10 | 16 | +60 % |
| 100 | 136 | +36 % |
| 1.000 | 1.336 | +33,6 % |
| 1.048.576 (1 MiB) | 1.398.104 | +33,3 % |
Bei kurzen Texten fällt das Padding stark ins Gewicht, bei größeren Datenmengen nähert sich der Zuwachs einem Drittel. Beachte, dass Umlaute in UTF-8 zwei Bytes belegen: „Grüße“ hat 5 Zeichen, aber 7 Bytes und wird zu R3LDvMOfZQ==.
Für die Praxis heißt das: Base64 eignet sich gut für kurze Werte wie Header, Tokens oder Konfigurationseinträge. Große Datenmengen auf diesem Weg zu übertragen, kostet dagegen ein Drittel mehr Bandbreite und Speicherplatz – dort ist eine direkte Binärübertragung meist die bessere Wahl, wenn das Protokoll sie erlaubt.
Wann brauchst du den Base64-Encoder?
- Einen HTTP-Basic-Auth-Header von Hand zusammenbauen oder einen bestehenden zur Fehlersuche dekodieren.
- Den Inhalt eines Base64-kodierten Konfigurations- oder Secret-Werts aus einer Umgebungsvariable (z. B. in Container- oder CI/CD-Konfigurationen) lesbar machen.
- Einen kurzen Text für ein Feld vorbereiten, das ausschließlich Base64 annimmt.
Häufige Fehler und Grenzen
- Keine Verschlüsselung: Base64 ist nur eine andere Schreibweise. Jeder kann den Text ohne Schlüssel zurückwandeln.
- Nur Text: Das Tool verarbeitet Texteingaben. Bilder oder andere Dateien kannst du hier nicht hochladen; für Data-URIs oder Dateianhänge brauchst du ein Werkzeug mit Datei-Upload.
- Binärdaten beim Dekodieren: Das Ergebnis wird als UTF-8-Text gelesen. Steckt in der Zeichenkette etwa ein Bild, meldet das Tool, dass die Daten kein gültiger UTF-8-Text sind – anzeigen oder als Datei speichern kann es solche Daten nicht. Texte in älteren Kodierungen wie Latin-1 mit Umlauten werden aus demselben Grund abgelehnt.
- Unsichtbare Zeichen beim Kodieren: Ein versehentlich mitkopierter Zeilenumbruch am Ende wird mitkodiert und verändert das Ergebnis. Prüfe die Eingabe, wenn ein Header oder Passwort nicht funktioniert.
- Base64URL: Für URLs oder Dateinamen gibt es die Variante Base64URL mit
-und_statt+und/, meist ohne=. Dieses Tool erzeugt Standard-Base64; Base64URL-Text musst du vor dem Dekodieren zurücktauschen. - Datenschutz: Kodieren und Dekodieren laufen vollständig im Browser, das Skript sendet nichts an einen Server. Dekodierte Zugangsdaten solltest du trotzdem nicht offen in Tickets oder Chats kopieren.
Passende Tools
Sonderzeichen für Links kodierst du mit dem URL Encoder/Decoder, HTML-Entities mit dem HTML Encoder/Decoder. Tokens im Base64URL-Format liest du am einfachsten mit dem JWT-Decoder.
Häufige Fragen
Ist Base64 eine Verschlüsselung?
Nein. Base64 kodiert Daten lediglich in ein anderes Textformat, verschlüsselt sie aber nicht. Jeder kann eine Base64-kodierte Zeichenkette ohne Schlüssel zurückwandeln.
Warum schlägt das Dekodieren manchmal fehl?
Wenn die Eingabe keine gültige Base64-Zeichenkette ist – etwa durch fehlende Zeichen oder falsche Formatierung – kann sie nicht dekodiert werden und es erscheint eine Fehlermeldung.
Was ist der Unterschied zwischen Base64 und Base64URL?
Base64URL ersetzt die in URLs problematischen Zeichen + und / durch - und _ und lässt das Padding-Zeichen = häufig weg – sie wird z. B. bei JWTs verwendet. Wer Base64URL-Text mit diesem Standard-Base64-Tool dekodieren will, muss die Zeichen vorher zurücktauschen.
Warum wird Base64 überhaupt für Binärdaten verwendet, statt sie direkt zu übertragen?
Viele ältere Protokolle und Textformate wie E-Mail (MIME) oder JSON erwarten reinen, druckbaren Text und können rohe Binärdaten nicht zuverlässig übertragen – Base64 verpackt die Bytes deshalb in ein Format aus 64 sicheren ASCII-Zeichen.
Werden meine Daten irgendwohin übertragen?
Nein, die Kodierung erfolgt vollständig im Browser über die eingebauten JavaScript-Funktionen – es wird nichts an einen Server gesendet.
Wofür steht das Gleichheitszeichen am Ende?
Es ist Padding. Base64 arbeitet in Gruppen zu drei Bytes; fehlen am Ende ein oder zwei Bytes, wird die letzte Vierergruppe mit einem bzw. zwei Gleichheitszeichen aufgefüllt. Ist die Länge des Originals durch drei teilbar, gibt es kein Padding.
Funktionieren Umlaute und Emojis?
Ja. Das Tool wandelt deinen Text vor dem Kodieren in UTF-8 um und liest ihn beim Dekodieren wieder als UTF-8. Ein Umlaut belegt dabei zwei Bytes, ein Emoji meist vier, deshalb wird die Base64-Ausgabe entsprechend länger.
Stören Zeilenumbrüche in der Base64-Eingabe?
In der Regel nicht. Die Dekodierfunktion des Browsers ignoriert Leerzeichen und Zeilenumbrüche, sodass auch umbrochene Base64-Blöcke etwa aus E-Mails gelesen werden. Andere Fremdzeichen führen dagegen zur Meldung „Ungültige Base64-Eingabe.“