BrowserTools
Werbung
Startseite / Encoder / Base64-Encoder und -Decoder

Base64-Encoder und -Decoder

Kodiere und dekodiere Text oder Dateien lokal in deinem Browser als Base64.

Base64-Encoder und -Decoder wird geladen… Wenn nichts passiert, aktiviere JavaScript.

Base64 ist ein Binär-zu-Text-Kodierungsschema, das Binärdaten mit nur 64 druckbaren ASCII-Zeichen darstellt: den lateinischen Groß- und Kleinbuchstaben, den Ziffern 0 bis 9 sowie den Symbolen + und /. Es wurde 1987 als Teil von RFC 989 für Privacy Enhanced Mail standardisiert und später in RFC 4648 formalisiert. Der Name rührt daher, dass jedes Ausgabezeichen genau 6 Bit kodiert, was bedeutet, dass aus je 3 Bytes binärer Eingabe genau 4 ASCII-Zeichen werden, ein Mehraufwand von 33 %, der den Gewinn an Kompatibilität wert ist.

Beispiele

Eingabe Hello, World!
Ausgabe SGVsbG8sIFdvcmxkIQ==

Standard-Base64 von UTF-8-Text.

Eingabe Café
Ausgabe Q2Fmw6k=

Nicht-ASCII wird zuerst in UTF-8 kodiert: é wird zu den Bytes 0xC3 0xA9.

Eingabe SGVsbG8sIFdvcmxkIQ==
Ausgabe Hello, World!

Das Dekodieren kehrt die Transformation exakt um.

Häufig gestellte Fragen

Werden meine Daten an einen Server gesendet?
Nein. Die gesamte Kodierung und Dekodierung erfolgt lokal in deinem Browser über die eingebauten APIs btoa/atob und FileReader der Web-Plattform. Dein Text, deine Dateien und alle sensiblen Werte verlassen nie dein Gerät und werden nie über das Netz übertragen.
Was genau sind diese 64 Zeichen, die Base64 verwendet?
Das in RFC 4648 definierte Standardalphabet nutzt A-Z (26 Zeichen), a-z (26 Zeichen), 0-9 (10 Zeichen) sowie + und /, insgesamt 64. Das Zeichen = dient als Füllung, damit die Ausgabelänge ein Vielfaches von 4 ist. Die URL-sichere Variante ersetzt + durch - und / durch _, sodass die Ausgabe ohne weiteres Escaping in URLs und Dateinamen sicher ist.
Wann sollte ich Base64-Kodierung in eigenen Projekten verwenden?
Verwende Base64 immer dann, wenn du Binärdaten in einem reinen Textformat einbetten musst: Bilder als Data-URIs in HTML oder CSS einbetten, Binär-Blobs in JSON oder XML speichern, Dateien im Körper einer JSON-API senden oder kryptografische Schlüssel in Umgebungsvariablen aufnehmen. Vermeide es, wenn du einen binärfähigen Transport nutzen kannst, da Base64 einen Mehraufwand von 33 % hinzufügt.
Wie schneidet Base64 im Vergleich zur Hex-Kodierung ab?
Beide wandeln Binärdaten in druckbaren Text um, unterscheiden sich aber in der Dichte. Hex nutzt 2 Zeichen pro Byte (50 % Mehraufwand), während Base64 etwa 1,33 Zeichen pro Byte nutzt (33 % Mehraufwand), wodurch Base64 rund 25 % kompakter ist. Hex ist leichter zu lesen und wird häufig für Prüfsummen und Farbcodes verwendet; Base64 wird bevorzugt, wenn Kompaktheit zählt oder wenn die Ausgabe in strukturierte Textformate eingebettet wird.
Welche maximale Dateigröße kann ich kodieren oder dekodieren?
Es gibt kein fest einprogrammiertes Limit, aber es gelten praktische Einschränkungen. Sehr große Dateien (Dutzende Megabyte) werden vollständig als Zeichenkette im Browserspeicher gehalten, was auf Geräten mit wenig RAM zu Verlangsamungen oder Speicherfehlern führen kann. Für die meisten Fälle bis zu einigen Megabyte ist das Tool schnell und reaktionsfreudig. Für Massen- oder Großdatei-Arbeitsabläufe ist ein Kommandozeilenwerkzeug wie base64 (Linux/macOS) oder certutil -encode (Windows) besser geeignet.
Funktioniert es offline und in allen modernen Browsern?
Ja. Das Tool nutzt nur Standard-Web-APIs (btoa, atob, FileReader, TextEncoder), die seit 2012 in allen großen Browsern verfügbar sind. Es gibt keine externen Anfragen, daher funktioniert es nach dem Laden der Seite vollständig offline. Die Leistung hängt von der CPU und dem verfügbaren RAM deines Geräts ab.
Kann ich Binärdateien wie Bilder oder PDFs kodieren?
Ja. Nutze die Dateieingabe, um eine beliebige Binärdatei auszuwählen. Die FileReader-API liest sie als ArrayBuffer, der dann ohne Zeichenkodierungsprobleme in eine Base64-Zeichenkette umgewandelt wird. Die entstehende Zeichenkette kann direkt in ein Data-URI eingefügt werden (für ein PNG etwa mit dem Präfix data:image/png;base64,) oder überall sonst verwendet werden, wo Base64-kodiertes Binärformat erwartet wird.
Ist Base64 eine Form der Verschlüsselung?
Nein, Base64 ist rein ein Kodierungsschema, keine Verschlüsselung. Es bietet keinerlei Vertraulichkeit: Wer die kodierte Zeichenkette sieht, kann sie sofort ohne Schlüssel oder Passwort dekodieren. Verwende Base64 nicht zum Schutz sensibler Daten. Nutze für Vertraulichkeit eine richtige Verschlüsselung (AES, RSA usw.) und Base64 nur als Transport- oder Speicherformat, nachdem die Daten verschlüsselt wurden.
Was ist der Unterschied zwischen Standard-Base64 und Base64url?
Standard-Base64 (RFC 4648, Abschnitt 4) nutzt + und / als 62. und 63. Zeichen, die in URLs eine besondere Bedeutung haben und prozentkodiert werden müssen. Base64url (RFC 4648, Abschnitt 5) ersetzt + durch - und / durch _, sodass die Ausgabe ohne Escaping in URLs, Dateinamen und HTTP-Headern sicher ist. JSON Web Tokens verwenden immer Base64url. Der URL-sichere Schalter dieses Tools wendet diese Ersetzung automatisch an.
Warum bekomme ich beim Dekodieren manchmal einen Fehler 'ungültiges Zeichen'?
Das bedeutet meist, dass die Eingabe Zeichen außerhalb des Base64-Alphabets enthält, oft Leerzeichen, Zeilenumbrüche oder ein Data-URI-Präfix wie 'data:image/png;base64,'. Entferne ein solches Präfix vor dem Dekodieren. Eine andere häufige Ursache ist eine URL-kodierte Zeichenkette, in der + durch ein Leerzeichen ersetzt wurde; wechsle in dem Fall in den URL-sicheren Modus oder ersetze die Leerzeichen vor dem Dekodieren manuell durch +.

Über Base64-Encoder und -Decoder

Entwickler greifen täglich auf Base64 zurück, ohne es immer zu merken. Data-URIs, die Bilder oder Schriften direkt in HTML und CSS einbetten, nutzen Base64. JSON Web Tokens verwenden Base64url (eine URL-sichere Variante), um Kopf und Nutzlast zu verpacken. Die HTTP-Basisauthentifizierung kodiert Zugangsdaten als Base64, bevor sie in den Authorization-Header gelegt werden. TLS-Zertifikate, SSH-Schlüssel und PGP-Nachrichten im Armor-Format werden allesamt als Base64-umhüllte PEM-Dateien verteilt. Immer wenn Binärdaten eine reine Textschicht für Transport oder Speicherung überstehen müssen (E-Mail, JSON, XML, Umgebungsvariablen), ist Base64 die Standardantwort.

Dieses Tool kodiert und dekodiert Base64 vollständig in deinem Browser. Es nutzt die in der Plattform eingebauten Funktionen btoa/atob für Text und die FileReader-API für hochgeladene Binärdateien. Da die gesamte Verarbeitung auf deinem eigenen Gerät stattfindet, werden deine Daten nie an einen Server übertragen, sodass es sicher mit sensiblen Zugangsdaten, privaten Schlüsseln oder vertraulichen Dokumenten verwendet werden kann. Das Tool unterstützt auch URL-sicheres Base64, das + durch - und / durch _ ersetzt, damit die Ausgabe ohne Prozentkodierung in URLs eingebettet werden kann.

Einige Punkte zur Beachtung: btoa wirft einen TypeError, wenn die Eingabe Zeichen außerhalb des Latin-1-Bereichs enthält, daher kodiert das Tool Unicode-Text automatisch in UTF-8, bevor es ihn kodiert. Beim Dekodieren sind abschließende Füllzeichen (=) in vielen Implementierungen optional, manche strengen Parser verlangen sie jedoch; wenn du einen Dekodierfehler erhältst, versuche, ein oder zwei =-Zeichen anzuhängen. Base64 ist eine Kodierung, keine Verschlüsselung: Es bietet keinerlei Vertraulichkeit, und jeder kann es sofort dekodieren. Speichere niemals Passwörter oder Tokens in Base64 in der Erwartung eines Sicherheitsgewinns.

Die Ursprünge von Base64

Base64 wurde 1987 als Teil von RFC 989 standardisiert, das Privacy Enhanced Mail (PEM) für den sicheren E-Mail-Austausch definierte. Der Name rührt daher, dass die Kodierung genau 64 druckbare ASCII-Zeichen verwendet, die größte Zweierpotenz-Teilmenge, die bequem in die meisten Zeichenkodierungen jener Zeit passte. Das Schema wurde später in RFC 1421 verfeinert und schließlich in RFC 4648 (2006) endgültig dokumentiert, das bis heute die maßgebliche Referenz bleibt.

Vor Base64 war das Versenden von Binärdaten über Mail-Systeme notorisch unzuverlässig. Frühe Mail-Relays arbeiteten mit 7-Bit-ASCII und beschädigten stillschweigend Bytes über 127, indem sie sie als Steuercodes behandelten oder das höchste Bit ganz entfernten. Base64 löste dies, indem es je 3 Bytes binärer Eingabe auf 4 druckbare Zeichen aus einer sicheren, universell unterstützten ASCII-Teilmenge abbildete und so einen getreuen Transit durch jeden reinen Textkanal garantierte.

Heute ist Base64 in das Gewebe des Webs eingewoben. Ein moderner Browser verarbeitet pro Seitenaufruf Tausende von Base64-Operationen, ohne dass der Nutzer es bemerkt: das Dekodieren von in CSS eingebetteten Schriftdateien, das Prüfen von JWT-Tokens in API-Antworten, das Darstellen eingebetteter Bilder in E-Mail-Clients und das Validieren von TLS-Zertifikaten beim HTTPS-Handschlag. Was als Behelfslösung für eine fehlerhafte Mail-Infrastruktur der 1980er begann, ist zu einer der unauffällig wichtigsten Kodierungen der Informatik geworden.

Werbung
Werbung
Werbung