Was ist Base64 und wie verwendet man es: vollstaendige Anleitung zur Kodierung und Dekodierung
Erfahren Sie, was Base64 ist, wie die Kodierung funktioniert, wann Sie sie in der Webentwicklung verwenden und wie Sie Text, Bilder und Dateien kostenlos kodieren oder dekodieren.
Was ist Base64-Kodierung
Base64 ist ein Kodierungsverfahren, das Binaerdaten (Nullen und Einsen) in eine Textdarstellung mit 64 druckbaren Zeichen umwandelt. Diese 64 Zeichen sind die Buchstaben A-Z, a-z, die Ziffern 0-9 und die Symbole + und /, plus das Zeichen = als Auffuellung (Padding).
Die Grundidee ist einfach: Viele Computersysteme koennen nur reinen Text sicher verarbeiten. Das Senden von rohen Binaerdaten (wie ein Bild oder eine komprimierte Datei) ueber E-Mail, URL oder JSON-Feld kann die Daten beschaedigen. Base64 loest dies, indem es Binaerdaten in "sicheren" Text umwandelt, den jedes System problemlos transportieren kann.
Zum Beispiel werden die 3 Binaer-Bytes 01001000 01101111 01101100 (die "Hol" darstellen) zu den 4 Base64-Zeichen SG9s. Der Prozess gruppiert Bits in 6er-Bloecke (statt 8er) und ordnet sie der 64-Zeichen-Tabelle zu.
Probieren Sie die Kodierung jetzt mit dem kostenlosen Base64-Kodierer von NexTools aus.
Wie Base64 Schritt fuer Schritt funktioniert
Der Base64-Algorithmus folgt einem praezisen mathematischen Prozess, der je 3 Eingabe-Bytes in 4 Ausgabe-Zeichen umwandelt:
Schritt 1: Umwandlung in Binaer. Jedes Byte des Originaltexts wird in seine 8-Bit-Binaerdarstellung umgewandelt. Zum Beispiel ist der Buchstabe "M" das Byte 77 in ASCII, was binaer 01001101 ist.
Schritt 2: Gruppierung in 6-Bit-Bloecke. Die Bits werden von 8er- in 6er-Gruppen reorganisiert. Bei "Man" (3 Bytes = 24 Bits) ergeben sich 4 Gruppen zu je 6 Bits: 010011 | 010110 | 000101 | 101110.
Schritt 3: Zuordnung zur Base64-Tabelle. Jede 6-Bit-Gruppe (Wert 0-63) wird einem Zeichen in der Tabelle zugeordnet: 19=T, 22=W, 5=F, 46=u. Ergebnis: "Man" → "TWFu".
Schritt 4: Auffuellung mit "=". Wenn die Original-Bytes kein Vielfaches von 3 sind, wird aufgefuellt. Bei 1 uebrigen Byte wird "==" angehaengt; bei 2 uebrigen Bytes "=".
Vollstaendiges Zahlenbeispiel:
| Text | Bytes | Binaer | 6-Bit-Gruppen | Base64 |
|---|---|---|---|---|
| Hi | 72, 105 | 01001000 01101001 | 010010 000110 100100 | SGk= |
| Man | 77, 97, 110 | 01001101 01100001 01101110 | 010011 010110 000101 101110 | TWFu |
| A | 65 | 01000001 | 010000 010000 | QQ== |
Das Ergebnis ist immer etwa 33% groesser als das Original (4 Zeichen pro 3 Bytes). Dekodieren Sie beliebigen Base64-Text mit dem NexTools Base64-Dekodierer.
Die haeufigsten Anwendungsfaelle von Base64 in 2026
Base64 ist in mehr Bereichen der modernen Technologie praesent, als Sie vielleicht denken:
1. Data URIs in HTML und CSS. Sie koennen Bilder direkt in HTML- oder CSS-Code einbetten, ohne eine separate HTTP-Anfrage zu stellen. Zum Beispiel: <img src="data:image/png;base64,iVBORw0KGgo...">. Dies eliminiert eine Server-Anfrage und ist ideal fuer kleine Icons (unter 2-3 KB). Laut HTTP Archive verwendeten 18% der Websites 2025 mindestens einen Data URI in ihrem CSS.
2. E-Mail-Anhaenge (MIME). Das urspruengliche SMTP-Protokoll unterstuetzt nur 7-Bit-ASCII-Text. Um Dateiabhaenge (PDFs, Bilder, Dokumente) zu senden, kodiert der MIME-Standard sie in Base64. Jedes Mal, wenn Sie eine E-Mail mit Anhang empfangen, dekodiert Ihr E-Mail-Client automatisch Base64.
3. JWT-Tokens (JSON Web Tokens). JWT-Authentifizierungstoken haben 3 durch Punkte getrennte Teile, die jeweils in Base64url kodiert sind (eine Variante mit - und _ statt + und /). Millionen von APIs verwenden JWT fuer die Authentifizierung in 2026.
4. REST-APIs und JSON. Wenn Sie Binaerdaten innerhalb eines JSON-Payloads (der Text ist) senden muessen, ist Base64 die Standardloesung.
5. Datenbankspeicherung. Einige NoSQL-Datenbanken oder Textfelder in SQL speichern binaere Daten als Base64. Weniger effizient als BLOB, aber portabler zwischen Systemen.
6. Einfache Verschleierung. Obwohl es KEINE Verschluesselung ist, wird Base64 verwendet, um Daten zu verschleiern, die nicht auf den ersten Blick lesbar sein sollen.
Base64 in JavaScript und Webentwicklung
JavaScript bietet native Funktionen fuer die Arbeit mit Base64 sowohl im Browser als auch in Node.js:
Im Browser:
btoa(string)— Kodiert einen String in Base64. Beispiel:btoa("Hallo Welt")→"SGFsbG8gV2VsdA=="atob(string)— Dekodiert Base64 in Text. Beispiel:atob("SGFsbG8gV2VsdA==")→"Hallo Welt"
Achtung bei Unicode: btoa() versagt bei Unicode-Zeichen (Umlaute, Emojis, CJK). Fuer Text mit Sonderzeichen benoetigen Sie einen Zwischenschritt:
const base64 = btoa(unescape(encodeURIComponent("Text mit Umlauten: Muenchen")));
In Node.js:
Buffer.from(string).toString('base64')— KodierenBuffer.from(base64String, 'base64').toString('utf-8')— Dekodieren
Node.js verarbeitet Unicode automatisch mit Buffer, ohne die btoa/atob-Probleme.
Praktischer Fall: Ein Bild einbetten. Ein Bild mit JavaScript in einen Data URI umwandeln:
const response = await fetch('/logo.png');
const blob = await response.blob();
const reader = new FileReader();
reader.onloadend = () => console.log(reader.result);
reader.readAsDataURL(blob);
Wenn Sie lieber keinen Code schreiben moechten, verwenden Sie den NexTools Base64-Kodierer, der alles in Ihrem Browser verarbeitet, ohne Dateien auf einen Server hochzuladen.
Base64 im Vergleich zu anderen Kodierungsmethoden
Es ist wichtig, Base64 nicht mit Verschluesselung oder anderen Kodierungen zu verwechseln. Jede hat einen anderen Zweck:
| Methode | Zweck | Umkehrbar ohne Schluessel | Sicher |
|---|---|---|---|
| Base64 | Binaerdaten als Text darstellen | Ja, jeder kann es dekodieren | Nein |
| Hex (Base16) | Bytes als Hexadezimal darstellen | Ja | Nein |
| URL Encoding | Sonderzeichen in URLs maskieren | Ja | Nein |
| AES/RSA (Verschluesselung) | Daten mit einem Schluessel schuetzen | Nein, Schluessel erforderlich | Ja |
| SHA-256 (Hash) | Datenintegritaet pruefen | Nein, Einwegfunktion | Teilweise |
Haeufiger Fehler: Base64 als "Sicherheit" verwenden. Base64 verschluesselt NICHTS. Jeder kann es in Millisekunden dekodieren. Wenn Sie Daten schuetzen muessen, verwenden Sie echte Verschluesselung (z.B. AES-256). Zur Integritaetspruefung nutzen Sie einen Hash-Generator.
Wann welche Methode verwenden:
- Binaerdaten als Text transportieren → Base64
- Bytes lesbar anzeigen → Hexadezimal
- Daten in eine URL einfuegen → URL Encoding
- Vertrauliche Daten schuetzen → Verschluesselung (AES/RSA)
- Pruefen, ob eine Datei veraendert wurde → Hash (SHA-256)
Base64-Varianten: Standard, URL-sicher und MIME
Es gibt nicht nur ein Base64. Mehrere Varianten sind in verschiedenen RFC-Standards definiert:
Standard-Base64 (RFC 4648): Verwendet A-Za-z0-9+/ mit Padding =. Die gaengigste Version, verwendet in MIME, PEM und den meisten APIs.
Base64url (RFC 4648 §5): Ersetzt + durch - und / durch _. Entfernt oder macht das Padding = optional. Speziell fuer URLs und Dateinamen entwickelt. JWT-Tokens verwenden immer diese Variante.
MIME-Base64 (RFC 2045): Gleich wie Standard, fuegt aber alle 76 Zeichen Zeilenumbrueche ein. Verwendet in E-Mails und PEM-Zertifikaten.
Base32: Verwendet nur 32 Zeichen (A-Z2-7). Weniger effizient (5 Bytes → 8 Zeichen vs. 3→4 bei Base64), aber case-insensitive. Verwendet in TOTP (Google Authenticator) und Tor-Onion-Adressen.
Praktischer Tipp: Wenn Sie mit URLs oder JWT arbeiten, verwenden Sie immer Base64url. Fuer JSON-APIs oder E-Mails verwenden Sie Standard-Base64. Der NexTools-Kodierer unterstuetzt beide Varianten.
Leistung und Groesse: Wann man Base64 NICHT verwenden sollte
Base64 hat seinen Preis: Kodierte Daten sind etwa 33% groesser als das Original. Dies hat wichtige Auswirkungen:
Inline-Bilder: Die 2-KB-Regel. Bilder als Data URIs einzubetten lohnt sich nur fuer sehr kleine Dateien (Icons, Sprites). Ein 100-KB-Bild wird zu ~133 KB Base64-Text, und der Browser kann es nicht als separate Datei cachen. Die empfohlene Praxis 2026:
- Bilder unter 2 KB → Data URI (spart eine HTTP-Anfrage)
- Bilder 2-10 KB → Einzelfallbewertung
- Bilder ueber 10 KB → immer separate Datei mit
<img src="url">
APIs und JSON-Payloads. Wenn Ihre API grosse Dateien senden muss, ist Base64 in JSON ineffizient. Bessere Alternativen:
multipart/form-datafuer Uploads (keine Kodierung noetig)- Vorsignierte URLs (Client laedt direkt zum Speicher hoch)
- Binaer-Streaming mit
Content-Type: application/octet-stream
Konkrete Overhead-Zahlen:
| Original | Base64 | Overhead |
|---|---|---|
| 1 KB | 1,33 KB | +33% |
| 100 KB | 133 KB | +33 KB |
| 1 MB | 1,33 MB | +330 KB |
| 10 MB | 13,3 MB | +3,3 MB |
Wie man Base64 kostenlos kodiert und dekodiert
Sie haben mehrere Moeglichkeiten fuer die Arbeit mit Base64:
Option 1: Online-Tool (am schnellsten). Der NexTools Base64-Kodierer verarbeitet alles in Ihrem Browser. Text einfuegen oder Datei hochladen und sofort das Ergebnis erhalten. Keine Daten verlassen Ihren Computer.
Option 2: Kommandozeile.
- Linux/Mac:
echo -n "Hallo" | base64→SGFsbG8= - Dekodieren:
echo "SGFsbG8=" | base64 --decode→Hallo - Datei:
base64 bild.png > bild.b64
Option 3: Python.
import base64base64.b64encode(b"Hallo").decode()→"SGFsbG8="base64.b64decode("SGFsbG8=").decode()→"Hallo"
Fuer die meisten Benutzer, die nur schnell etwas kodieren oder dekodieren muessen, ist das Online-Tool die praktischste Option. Wenn Sie regelmaessig mit APIs arbeiten, ist das Terminal effizienter.
Sie koennen Ihre Daten auch mit dem NexTools JSON-Konverter in andere Formate umwandeln, wenn Sie mit komplexen Datenstrukturen arbeiten muessen.
Probieren Sie dieses Tool:
Tool öffnen→Häufig gestellte Fragen
Ist Base64 dasselbe wie Verschluesselung
Nein. Base64 ist Kodierung, keine Verschluesselung. Jeder kann Base64 ohne geheimen Schluessel dekodieren. Es ist wie eine Nachricht in einem anderen Alphabet zu schreiben: Es aendert die Darstellung, schuetzt aber nicht den Inhalt. Fuer Verschluesselung benoetigen Sie Algorithmen wie AES-256 oder RSA.
Warum sind Base64-kodierte Daten groesser als das Original
Weil Base64 jeweils 3 Bytes (24 Bits) in 4 Zeichen (32 Bits) umwandelt, was eine Zunahme von 33% ergibt. Zusaetzlich wird bei Daten, die kein Vielfaches von 3 Bytes sind, Padding mit '=' hinzugefuegt. Eine 1-MB-Datei wird in Base64 etwa 1,33 MB gross.
Wofuer wird Base64 in E-Mails verwendet
Das urspruengliche SMTP-Protokoll unterstuetzt nur 7-Bit-ASCII-Text, was den direkten Versand von Binaerdateien verhindert. MIME verwendet Base64, um Dateiabhaenge als ASCII-Text zu kodieren, den SMTP transportieren kann. Ihr E-Mail-Client kodiert automatisch beim Senden und dekodiert beim Empfangen.
Was ist der Unterschied zwischen Standard-Base64 und Base64url
Standard-Base64 verwendet '+' und '/', die in URLs spezielle Bedeutungen haben. Base64url ersetzt sie durch '-' und '_' und macht das Padding '=' optional. JWT und alle Daten in URLs sollten Base64url verwenden.
Ist es sicher, Base64-kodierte sensible Daten in eine URL einzufuegen
Nein. Base64-Kodierung bietet keinerlei Sicherheit. Jeder, der die URL sieht, kann die Daten sofort dekodieren. Wenn Sie sensible Daten ueber URLs uebertragen muessen, verschluesseln Sie sie zuerst mit AES und kodieren Sie dann das verschluesselte Ergebnis in Base64url.
Kann ich grosse Bilder in Base64 fuer meine Website kodieren
Technisch ja, aber Sie sollten es nicht tun. Ein 500-KB-Bild wird zu ~667 KB Base64-Text im HTML, was die Seitengroesse erhoeht, Browser-Caching verhindert und das Laden verlangsamt. Verwenden Sie Base64-Data-URIs nur fuer Bilder unter 2 KB.