Was ist Base64?
Base64 ist ein Verfahren, beliebige Daten – Text, Bilder oder ganze Dateien – mit nur 64 sicheren Zeichen zu schreiben: A–Z, a–z, 0–9, + und /, dazu = als Auffüllung (Padding) am Ende (definiert in RFC 4648). Es existiert, damit Binärdaten durch Systeme reisen können, die für reinen Text gebaut sind, etwa E-Mail, JSON, HTML und HTTP-Header.
Aus je 3 Bytes Eingabe werden 4 Base64-Zeichen, kodierte Daten sind daher etwa 33% größer als das Original. Aus dem Text Hi wird zum Beispiel SGk=. Base64 begegnet Ihnen in E-Mail-Anhängen, in data:-Bild-URIs in HTML und CSS, in API-Antworten, die Dateien transportieren, in JSON Web Tokens und in Headern für die HTTP-Basic-Authentifizierung.

Base64 dekodieren: So geht's
Fügen Sie den Code in das Feld unter Dekodieren ein. Zeilenumbrüche, Leerzeichen, ein Präfix data:...;base64,, URL-sichere Zeichen (- und _) und fehlendes =-Padding werden allesamt verarbeitet.
Handelt es sich um Text, erscheint der dekodierte UTF-8-Text sofort und kann kopiert werden.
Handelt es sich um eine Datei, erkennt der Decoder das Format an den ersten Bytes: Bilder werden in einer Vorschau angezeigt, PDFs, ZIPs und andere Dateien lassen sich herunterladen.
Advertisement
Text oder Datei in Base64 kodieren
Geben Sie Text im Tab Kodieren ein oder fügen Sie ihn dort ein. Er wird als UTF-8 kodiert, sodass Umlaute und andere Akzente, asiatische Schriften und Emoji die Hin- und Rückumwandlung unbeschadet überstehen.
Aktivieren Sie URL-sicher für Base64URL (verwendet in URLs und JWTs) oder Zeilen nach 76 Zeichen umbrechen für MIME-E-Mail-Inhalte.
Ziehen Sie im Tab Datei zu Base64 eine beliebige Datei bis 10 MB hinein. Kopieren Sie das reine Base64 oder eine fertige Data-URI wie data:image/png;base64,..., um die Datei in HTML oder CSS einzubetten.
Base64 in Bild umwandeln und Base64 zu PDF
Base64 verpackt oft eine Datei: ein Bild, das in eine Webseite oder E-Mail eingebettet ist, oder ein PDF, das eine API zurückliefert. Der Decoder prüft die ersten Bytes, die sogenannten Magic Numbers, um den Dateityp zu bestimmen: PNG-, JPEG-, GIF-, WebP- und SVG-Bilder erhalten eine Live-Vorschau, PDF-, ZIP-, GZIP-, MP3- und MP4-Dateien einen Download-Button. PDFs lassen sich außerdem in einem neuen Tab öffnen.
Der umgekehrte Weg, Bild in Base64 umwandeln, funktioniert im Tab Datei zu Base64: Bild hineinziehen und die Data-URI kopieren.
Advertisement
Base64-Varianten: Standard, URL-sicher, MIME und Data-URIs
Verwendet + und / mit =-Padding. Der Standard in den meisten Bibliotheken und APIs.
Ersetzt + und / durch - und _ und lässt das Padding meist weg, damit das Ergebnis in einer URL oder einem Dateinamen stehen kann. JSON Web Tokens verwenden diese Variante.
Standard-Base64, aufgeteilt in Zeilen von 76 Zeichen, wie es bei E-Mail-Anhängen verwendet wird.
Base64 mit einem Präfix, das den Dateityp nennt, etwa data:image/png;base64,, damit ein Browser die Datei direkt im Dokument anzeigen kann.
Base64 ist eine Kodierung, keine Verschlüsselung
Base64 macht Daten transportfähig, nicht geheim. Jeder kann sie in einer Sekunde dekodieren, auch mit diesem Tool:
Verstecken Sie niemals Passwörter oder Schlüssel mit Base64. Ein Header für die HTTP-Basic-Authentifizierung ist nichts anderes als
user:passwordin Base64 – deshalb darf er nur über HTTPS übertragen werden. Prüfen Sie das Zertifikat einer Website mit dem SSL-Checker.JWT-Payloads sind lesbar. Der mittlere Teil eines JSON Web Tokens ist Base64URL-kodiertes JSON, sodass jeder, der ein Token besitzt, dessen Claims lesen kann.
Das Dekodieren hier bleibt privat. Dieses Tool läuft vollständig in Ihrem Browser; die Daten, die Sie einfügen oder hochladen, erreichen nie unseren Server.
Sie brauchen echte Geheimhaltung? Verwenden Sie richtige Verschlüsselung und erzeugen Sie starke Geheimnisse mit dem Passwort-Generator.
Advertisement
Base64 in JavaScript, Python und auf der Kommandozeile
Jede Sprache bringt Base64 von Haus aus mit. Kodieren Sie Text vorher als UTF-8, sonst werden nicht-englische Zeichen wie Umlaute beschädigt.
// Encode UTF-8 text
const b64 = btoa(String.fromCharCode(...new TextEncoder().encode('héllo'))) // 'aMOpbGxv'
// Decode back to text
const text = new TextDecoder().decode(Uint8Array.from(atob(b64), (c) => c.charCodeAt(0)))import base64
b64 = base64.b64encode('héllo'.encode()).decode() # 'aMOpbGxv'
text = base64.b64decode(b64).decode() # 'héllo'
url_safe = base64.urlsafe_b64encode(b'\xfb\xff\xbf') # b'-_-_'echo -n 'hello' | base64 # aGVsbG8=
echo 'aGVsbG8=' | base64 --decode # hello
base64 -w 0 image.png > image.txt # Linux: one line, no wrapping[Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes('hello')) # aGVsbG8=
[Text.Encoding]::UTF8.GetString([Convert]::FromBase64String('aGVsbG8=')) # helloWeitere Kodierungs- und Text-Tools
Weitere Konverter für die Arbeit mit Text und Daten: