RunToolz iconRunToolz
Welcome to RunToolz!
Base64KodierungEntwicklertools

Was ist Base64 und warum taucht es ständig auf?

Dieser seltsame Text-String in deinem Code ist kein Kauderwelsch. Hier erfährst du, was er wirklich bedeutet.

RunToolz Team5. Januar 20263 min read

Du debuggst eine API. Irgendwo in der Antwort siehst du das:

SGVsbG8gV29ybGQh

Oder du schaust dir den Rohtext einer E-Mail an und findest Textblöcke, die wie wahllos getippte Tasten aussehen. Oder dein CSS hat ein Hintergrundbild, das mit data:image/png;base64, beginnt, gefolgt von einer Wand aus Zeichen.

Das ist Base64. Es ist überall, sobald du anfängst hinzuschauen.

Was Base64 eigentlich ist

Binärdaten – Bilder, Dateien, alles, was kein reiner Text ist – funktioniert nicht gut mit Systemen, die für Text konzipiert sind. E-Mail wurde für ASCII-Zeichen gebaut. URLs haben eingeschränkte Zeichensätze. JSON kommt nicht mit rohen Binärdaten zurecht.

Base64 konvertiert Binärdaten in einen String aus 64 „sicheren" Zeichen: A-Z, a-z, 0-9, + und /. Jede Binärdatei wird zu einem Text-String, der nicht kaputt geht, wenn er durch textbasierte Systeme läuft.

Es ist keine Verschlüsselung. Es ist keine Kompression. Es ist nur Kodierung – eine andere Art, dieselben Daten darzustellen.

Möchten Sie es selbst ausprobieren?Base64 kodieren/dekodieren

Wo du es sehen wirst

E-Mail-Anhänge. Wenn du ein PDF per E-Mail sendest, wird es Base64-kodiert, als Text übertragen und am anderen Ende dekodiert.

Data-URIs. Diese data:image/png;base64,...-Syntax bettet Bilder direkt in HTML oder CSS ein. Keine separate Datei-Anfrage nötig.

API-Authentifizierung. Basic Auth sendet username:password als Base64-String. (Deshalb ist Basic Auth über HTTP unsicher – Base64 ist keine Verschlüsselung.)

JWTs. JSON Web Tokens sind drei Base64-kodierte JSON-Objekte, die durch Punkte verbunden sind.

Binärdaten in JSON. JSON kann keine rohen Bytes enthalten, also werden Binärdaten zuerst Base64-kodiert.

Kodierung vs. Verschlüsselung

Das verwechseln Leute ständig.

Base64-Kodierung: Von jedem umkehrbar. Kein Schlüssel nötig. Nicht sicher. Nur Umformatierung.

Verschlüsselung: Nur mit dem richtigen Schlüssel umkehrbar. Tatsächlich sicher.

Wenn du etwas ohne Passwort dekodieren kannst, ist es nicht verschlüsselt. Base64 „versteckt" Daten nur vor Leuten, die nicht wissen, was Base64 ist – und das ist niemand, der es tatsächlich lesen will.

Speichere keine Passwörter als Base64. Geh nicht davon aus, dass Base64-Daten in einer API privat sind. Es ist nur Text, der seltsam aussieht.

Das Größenproblem

Base64 erhöht die Datengröße um etwa 33%. Ein 100KB-Bild wird zu ~133KB, wenn es Base64-kodiert ist.

Das ist wichtig für Data-URIs. Ein großes Bild als Base64 in dein CSS einzubetten, macht die Datei größer und kann nicht separat gecacht werden. Gut für winzige Icons. Schlecht für Hero-Bilder.

Praktische Anwendungen

Debugging. Siehst du Base64 in einer API-Antwort? Dekodiere es, um zu sehen, was drin ist.

Kleine Bilder einbetten. Icons unter 1-2KB sind oft das Einbetten als Data-URIs wert, um HTTP-Anfragen zu sparen.

Binärdaten durch Textkanäle leiten. Musst du Dateiinhalte in JSON einbinden? Base64-kodiere sie.

JWTs lesen. Dekodiere jeden Abschnitt, um Header, Payload zu sehen und zu verstehen, welche Claims das Token enthält.

Möchten Sie es selbst ausprobieren?Bild zu Base64

Base64 ist nicht kompliziert. Es ist nur eine Möglichkeit, beliebige Daten in einen Text-String zu verwandeln. Erkenne es, dekodiere bei Bedarf und wisse, dass es keine Sicherheit bietet – nur Kompatibilität.