Was ist Base64 und wie verwendet man es: vollstaendige Anleitung zur Kodierung und Dekodierung

9 Min. Lesezeit

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:

TextBytesBinaer6-Bit-GruppenBase64
Hi72, 10501001000 01101001010010 000110 100100SGk=
Man77, 97, 11001001101 01100001 01101110010011 010110 000101 101110TWFu
A6501000001010000 010000QQ==

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') — Kodieren
  • Buffer.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:

MethodeZweckUmkehrbar ohne SchluesselSicher
Base64Binaerdaten als Text darstellenJa, jeder kann es dekodierenNein
Hex (Base16)Bytes als Hexadezimal darstellenJaNein
URL EncodingSonderzeichen in URLs maskierenJaNein
AES/RSA (Verschluesselung)Daten mit einem Schluessel schuetzenNein, Schluessel erforderlichJa
SHA-256 (Hash)Datenintegritaet pruefenNein, EinwegfunktionTeilweise

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-data fuer Uploads (keine Kodierung noetig)
  • Vorsignierte URLs (Client laedt direkt zum Speicher hoch)
  • Binaer-Streaming mit Content-Type: application/octet-stream

Konkrete Overhead-Zahlen:

OriginalBase64Overhead
1 KB1,33 KB+33%
100 KB133 KB+33 KB
1 MB1,33 MB+330 KB
10 MB13,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" | base64SGFsbG8=
  • Dekodieren: echo "SGFsbG8=" | base64 --decodeHallo
  • Datei: base64 bild.png > bild.b64

Option 3: Python.

  • import base64
  • base64.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.