Was ist Base64-Kodierung? Eine einfache Erklärung mit Beispielen
Sie haben Base64 schon gesehen, auch wenn Sie es nicht wussten: lange Ketten aus Buchstaben und Zahlen, die auf „=“ enden, in E-Mails, APIs, Tokens und Bild-URLs. Hier erfahren Sie, was es ist, wie es funktioniert und wann Sie es einsetzen.
Kurze Antwort
Base64 stellt beliebige Binärdaten (Bilder, Dateien, verschlüsselte Bytes) mit nur 64 sicheren Textzeichen dar: A–Z, a–z, 0–9, + und /, dazu = als Auffüllung. So können Binärdaten durch reine Textsysteme wie JSON, HTML und E-Mail reisen. Die Daten werden etwa 33 % größer, und Base64 ist keine Verschlüsselung.
Warum es Base64 gibt
Computer speichern alles als Bytes, und ein Byte kann 256 verschiedene Werte haben. Viele Systeme wurden aber für Text entwickelt, und manche Bytewerte haben darin eine besondere Bedeutung: Steuerzeichen, Zeilenenden, Anführungszeichen oder Zeichen, die zwischen Systemen verfälscht werden. Rohe Binärdaten können dabei beschädigt werden.
Base64 löst das, indem es beliebige Bytes in ein kleines, sicheres Alphabet übersetzt, das jedes Textsystem unbeschadet übersteht.
So funktioniert Base64-Kodierung, Schritt für Schritt
Kodieren wir das Wort Man:
- Zeichen in Bytes umwandeln. M = 77, a = 97, n = 110.
- Binär schreiben (je 8 Bit):
01001101 01100001 01101110. - In 6-Bit-Blöcke umgruppieren:
010011 010110 000101 101110. - Jeden Block in eine Zahl umwandeln: 19, 22, 5, 46.
- Jede Zahl nachschlagen im Base64-Alphabet (A=0 … Z=25, a=26 … z=51, 0=52 … 9=61, +=62, /=63): 19 = T, 22 = W, 5 = F, 46 = u.
Ergebnis: Man → TWFu. Je 3 Bytes werden zu 4 Zeichen, deshalb ist die Base64-Ausgabe etwa ein Drittel größer als die Eingabe.
Was bedeutet das „=“ am Ende?
Ist die Eingabe kein Vielfaches von 3 Bytes, wird die Ausgabe mit = aufgefüllt, damit ihre Länge ein Vielfaches von 4 ist. Ma wird zu TWE= und M zu TQ==.
Typische Einsatzzwecke von Base64
- Data-URLs: kleine Bilder direkt in HTML oder CSS einbetten:
<img src="data:image/png;base64,iVBORw0KGgo…">. - E-Mail-Anhänge: MIME kodiert Anhänge in Base64, damit sie Mailserver unbeschadet passieren.
- APIs: Dateien oder Binärdaten in JSON übertragen, das nur Text unterstützt.
- HTTP-Basic-Authentifizierung:
benutzer:passwortsteht Base64-kodiert im Authorization-Header. - JSON Web Tokens (JWT): Header und Payload sind URL-sicheres Base64.
- Zertifikate und Schlüssel: PEM-Dateien enthalten Base64 zwischen den Zeilen „BEGIN“ und „END“.
Base64 ist keine Verschlüsselung
Jeder kann Base64 sofort dekodieren. Es verbirgt nichts. HTTP-Basic-Zugangsdaten und JWT-Inhalte kann jeder lesen, der sie sieht, deshalb dürfen sie nur über HTTPS übertragen werden. Nutzen Sie Base64 nie, um Passwörter, API-Schlüssel oder personenbezogene Daten zu „schützen“.
Standard- vs. URL-sicheres Base64
Standard-Base64 nutzt + und /, die in URLs und Dateipfaden eine besondere Bedeutung haben. URL-sicheres Base64 (auch Base64URL) ersetzt sie:
| Standard | URL-sicher | |
|---|---|---|
| Zeichen 62 | + | - |
| Zeichen 63 | / | _ |
| Auffüllung | = | Meist weggelassen |
| Verwendet in | E-Mail, Data-URLs, PEM | JWTs, URL-Parametern, Dateinamen |
So kodieren und dekodieren Sie Base64
- Öffnen Sie den kostenlosen Base64-Encoder/-Decoder.
- Geben Sie im Reiter Text Text zum Kodieren oder Base64 zum Dekodieren ein. Das Ergebnis aktualisiert sich beim Tippen.
- Aktivieren Sie den Modus URL-sicher für Tokens und URLs.
- Im Reiter Datei kodieren Sie ein Bild oder Dokument zu einem Base64-String oder einer Data-URL, oder dekodieren Base64 zurück in eine herunterladbare Datei.
Alles läuft in Ihrem Browser. Text wird als UTF-8 verarbeitet, sodass Umlaute, nicht-lateinische Schriften und Emojis korrekt erhalten bleiben.
Kostenlos testen: Base64-Encoder / -Decoder
Text und Bilder in Base64 codieren oder daraus decodieren. Läuft im Browser, ohne Anmeldung.
Base64 im Code
// JavaScript (Browser, nur ASCII-Text)
btoa('Man'); // "TWFu"
atob('TWFu'); // "Man"
# Python
import base64
base64.b64encode(b'Man') # b'TWFu'
base64.b64encode(b'\xfb\xff') # b'+/8='
base64.urlsafe_b64encode(b'\xfb\xff') # b'-_8=' (URL-sicher)
# Kommandozeile (macOS / Linux)
echo -n 'Man' | base64 # TWFu
Hinweis: btoa() im Browser akzeptiert nur Zeichen aus dem Latin-1-Bereich. Für vollständigen Unicode-Text (etwa mit „€“) wandeln Sie ihn zuerst in UTF-8-Bytes um, zum Beispiel mit TextEncoder.
Wann Sie Base64 nicht nutzen sollten
- Große Bilder auf Webseiten. Einbetten macht HTML oder CSS schwerer, und das Bild lässt sich nicht separat cachen. Betten Sie nur kleine Icons ein, typischerweise wenige KB.
- Dateien in Datenbanken speichern, wenn Ihre Datenbank Binärspalten unterstützt.
- Alles, was geheim bleiben muss. Nutzen Sie echte Verschlüsselung.
Häufige Fragen
Warum macht Base64 Dateien größer?
Jedes Base64-Zeichen trägt 6 Bit Daten, belegt aber 8 Bit Speicher. Aus 3 Byte Eingabe werden also 4 Byte Ausgabe, ein Plus von 33 % (mit Zeilenumbrüchen etwas mehr).
Woran erkenne ich, ob ein String Base64 ist?
Er nutzt nur A–Z, a–z, 0–9, + / (oder - _), seine Länge ist oft ein Vielfaches von 4, und er kann auf = oder == enden. Versuchen Sie, ihn zu dekodieren, um sicherzugehen.
Warum sieht mein dekodierter Text wie Kauderwelsch aus?
Wahrscheinlich sind die Daten eine Binärdatei, etwa ein Bild oder PDF, und kein Text. Dekodieren Sie sie stattdessen als Datei.
Fazit
Base64 ist eine Übersetzungsschicht, mit der Binärdaten sicher als Text reisen. Es ist unverzichtbar für Data-URLs, E-Mail, APIs und Tokens, vergrößert die Daten aber um 33 % und bietet keinerlei Sicherheit.
Etwas veraltet oder unklar? Schreiben Sie an contact@ultratoolsai.com, und wir korrigieren es.


