Base64 taucht in JWTs, data:-URIs, Basic-Auth-Headern und der Hälfte aller E-Mail-Anhänge der Welt auf. Und trotzdem ist es eine der am meisten missverstandenen Techniken: Viele glauben, Base64 sei eine Form der Verschlüsselung. Ist es nicht.
Was es genau macht
Base64 wandelt binäre Daten in druckbaren Text um, mit 64 sicheren Zeichen (A-Z, a-z, 0-9, +, /). Es komprimiert oder verbirgt nichts: Es ist eine per Design reversible Kodierung, so reversibel, dass man sie mit der Tabelle im Kopf dekodieren könnte. Ihre einzige Aufgabe ist es, sicherzustellen, dass beliebige Bytes unverändert durch für Text gedachte Kanäle (JSON, XML, Formulare, E-Mail) kommen.
Die Kosten: 33 % mehr Größe
Je 3 Byte Originaldaten werden zu 4 Base64-Zeichen. Das sind fixe 33 % Overhead, immer. Deshalb lohnt sich das Einbetten eines Bildes als data:image/png;base64,... in HTML oder CSS nur bei sehr kleinen Icons (ein paar KB): Man spart einen HTTP-Request, zahlt aber mit mehr Gewicht und verliert das unabhängige Caching der Datei.
Wo es wirklich Sinn ergibt
- JSON Web Tokens (JWT): Header und Payload sind Base64URL-kodiert (eine Variante mit
-und_statt+und/, ohne=-Padding, damit es ohne Escaping in eine URL passt). Authorization: Basic-Header: Benutzername und Passwort verkettet und kodiert — deshalb erfordert HTTP Basic Auth HTTPS, denn Base64 zu dekodieren ist trivial.- Binärdaten in JSON anhängen: Wenn
multipart/form-datanicht möglich ist, ist Base64 der Standardweg, ein Bild oder PDF in ein Textfeld zu packen.
Der Fehler, den man vermeiden sollte
Wenn du Daten verbergen musst (ein Passwort, ein geheimes Token während der Übertragung), schützt Base64 vor gar nichts — es ist Kodierung, keine Verschlüsselung. Nutze dafür TLS für die Übertragung und, falls du echte Verschlüsselung im Ruhezustand brauchst, etwas wie AES über unsere AES-256-Verschlüsselung, die tatsächlich ein Passwort erfordert und ohne es nicht umkehrbar ist.
Du kannst Text oder Bilder mit dem Base64-Konverter kodieren und dekodieren (inklusive URL-sicherer Variante), oder ein Bild direkt mit dem Base64-Bildkonverter in eine data:-URI umwandeln — alles im Browser, ohne dass etwas hochgeladen wird.

