Base64 Kodieren / Dekodieren
Text in Base64 kodieren oder Base64 zurück in Text dekodieren — UTF-8-sicher, vollständig in Ihrem Browser.
1.279 Aufrufe
So funktioniert es
Base64 wandelt binäre Daten mithilfe eines Alphabets aus 64 druckbaren Zeichen in reinen Text um: A–Z, a–z, 0–9, plus + und / (64 Symbole sind genau 2⁶, daher der Name Base64). Der Encoder liest die Eingabe jeweils 3 Byte (24 Bit) auf einmal, teilt diese 24 Bit in vier 6-Bit-Blöcke und ordnet jedem 6-Bit-Block ein Zeichen aus dem Alphabet zu — so werden 3 Byte Binärdaten immer zu genau 4 Textzeichen. Ist die Eingabelänge kein glattes Vielfaches von 3, wird die letzte Gruppe mit einem oder zwei =-Zeichen aufgefüllt, damit die Ausgabelänge ein Vielfaches von 4 bleibt.
Konkret: Die drei Bytes des Worts "Man" (77, 97, 110 — binär 01001101 01100001 01101110) werden zu vier 6-Bit-Blöcken neu gruppiert (010011, 010110, 000101, 101110), jeder wird auf ein Zeichen abgebildet, und es entsteht TWFu. Da sich jedes Eingabe-Byte-Trio zuverlässig zu 4 Ausgabezeichen erweitert, ist Base64-kodierte Daten verlässlich rund 33 % größer als das Original — ein 300-KB-Bild wird zu einer rund 400-KB-Base64-Zeichenkette, was beim Einbetten von Bildern als data:-URI oder beim Anhängen von Binärdateien in JSON oder E-Mails relevant ist.
Dieses Tool behandelt Unicode korrekt, indem es den Text zuerst UTF-8-kodiert, sodass mehrbytige Zeichen und Emojis ("çğü 😀") unbeschadet hin- und zurückkonvertiert werden — ein naiver JavaScript-Aufruf von btoa() wirft dabei einen Fehler, weil er ein Byte pro Zeichen erwartet. Alles läuft lokal in Ihrem Browser ab; nichts, was Sie eingeben, wird irgendwohin gesendet.
Base64 taucht ständig an Stellen auf, die den meisten nie auffallen: ein HTML-Tag <img src="data:image/png;base64,..."> bettet ein ganzes Bild direkt ein, statt auf eine Datei zu verlinken; der HTTP-Header Authorization: Basic trägt eine Base64-kodierte "Benutzername:Passwort"-Zeichenkette (das ist reine Formatierung, kein Schutz — erst TLS sorgt für Vertraulichkeit bei der Übertragung); E-Mail-Anhänge werden seit dem ursprünglichen MIME-Standard Base64-kodiert, weil SMTP für die Übertragung von 7-Bit-Text konzipiert wurde, nicht für rohe Binärdaten; und JSON Web Tokens (JWTs) nutzen die URL-sichere Variante, um eine signierte Binärstruktur in drei durch Punkte getrennte Textabschnitte zu packen.
Was Sie wissen sollten
- Base64 ist keine Verschlüsselung — es ist eine umkehrbare, öffentlich bekannte Darstellung ohne jede Geheimhaltung. Jeder kann sie mit demselben Alphabet sofort dekodieren; sie existiert einzig, um binäre Daten sicher durch reine Textkanäle zu schleusen (E-Mail-MIME-Anhänge, data-URIs, JSON-Felder, HTTP-Basic-Auth-Header), niemals um Inhalte zu verbergen.
- URL-sichere Variante: weil
+und/in URLs eine besondere Bedeutung haben, ersetzt ein "URL-sicheres" Base64-Alphabet sie durch-und_und lässt die=-Auffüllung oft weg. Dieses Tool dekodiert beide Varianten automatisch. - Der Größenaufschlag ist fest und vorhersehbar: die rund 33-prozentige Vergrößerung (Verhältnis 4/3) gilt exakt für die Nutzdaten selbst — deshalb sind APIs, die rohe Binär-Uploads akzeptieren, meist bandbreiteneffizienter als solche, die Base64-verpackte JSON-Bodies verlangen.
- Die Auffüllung verrät den Rest: ein
=bedeutet, dass die ursprüngliche Datenlänge 2 Byte über einem Vielfachen von 3 lag; zwei=bedeuten 1 Byte darüber. Keine Auffüllung bedeutet, dass die Eingabe genau ein Vielfaches von 3 Byte war.
Häufig gestellte Fragen
Warum sieht meine dekodierte Ausgabe verstümmelt aus?
Meist war die Eingabe kein gültiges Base64 (abgeschnitten oder mit URL-sicheren Zeichen -_ statt +/), oder die ursprünglichen Bytes waren von vornherein kein Text. Dieses Tool dekodiert URL-sichere Varianten automatisch.
Kann ich Dateien kodieren?
Dieses Tool ist für Text gedacht. Für Dateien ist das übliche Muster eine data:-URI, die die Base64-Zeichenkette mit einem MIME-Typ-Präfix umschließt, damit ein Browser oder E-Mail-Client weiß, wie sie darzustellen ist — die meisten Sprachen bieten dafür Einzeiler (PHP base64_encode(file_get_contents(...)), JS FileReader.readAsDataURL). Sehr große Dateien werden angesichts des ~33-prozentigen Größenaufschlags meist besser als rohe Binärdaten statt Base64-verpackt übertragen.
Ist Base64 sicher für Passwörter?
Nein — es ist konstruktionsbedingt trivial umkehrbar, ohne jeden Schlüssel oder jedes Geheimnis. HTTP Basic Auth nutzt es nur zur Formatierung bei der Übertragung (packt "Benutzer:Passwort" in eine header-sichere Zeichenkette) und verlässt sich vollständig auf TLS/HTTPS für tatsächliche Vertraulichkeit während der Übertragung. Speichern Sie Passwörter gehasht mit einem langsamen, gesalzenen Algorithmus (bcrypt, argon2, scrypt) — niemals kodiert, und niemals mit Base64, das jeder in einer Zeile Code umkehren kann.
Warum ist Base64-kodierte Ausgabe immer rund 33 % größer als die Eingabe?
Weil die Kodierung jeweils 3 Byte (24 Bit) der Eingabe auf 4 Ausgabezeichen abbildet und jedes Ausgabezeichen nur 6 Bit Information trägt statt der 8 Bit eines Bytes — das ist ein festes 4/3-Erweiterungsverhältnis, das sich nicht mit dem Inhalt ändert. Eine 3-MB-Datei wird jedes Mal zu einer rund 4-MB-Base64-Zeichenkette.
Was ist der Unterschied zwischen Standard-Base64 und der "URL-sicheren" Variante?
Standard-Base64 verwendet + und / in seinem Alphabet, die beide in URLs und Dateipfaden reservierte Bedeutung haben, sodass eine URL-sichere Variante sie durch - und _ ersetzt (und die =-Auffüllung oft weglässt), damit die kodierte Zeichenkette ohne Escaping direkt in einer URL oder einem Dateinamen stehen kann. Dieses Tool erkennt und dekodiert beide Varianten automatisch.
Ähnliche Tools
Problem melden
Base64 Kodieren / Dekodieren
Kommentare
Noch keine Kommentare — schreiben Sie den ersten!