🌐 DE

🖼️ Base64-Bildkonverter

Konvertieren Sie Bilder in Base64-Zeichenfolgen oder stellen Sie ein Bild aus Base64 wieder her.

📁
Klicken oder ein Bild per Drag & Drop ablegen
RATGEBER

Mehr erfahren

01

1. Was ist Base64-Kodierung

Base64 ist ein Kodierverfahren, das binäre Daten in ASCII-Zeichenfolgen umwandelt. Es ermöglicht, Binärdateien wie Bilder, Audio und Video im Textformat darzustellen, sodass binäre Daten über textbasierte Protokolle wie E-Mail, JSON und XML übertragen werden können. Es verwendet nur 64 ASCII-Zeichen (A-Z, a-z, 0-9, +, /), um sämtliche Binärdaten darzustellen. Nützlich für die Inline-Einbettung von Bildern in HTML über Data-URLs oder für die Einbindung von Bildern in API-Antworten. Allerdings vergrößert sich die ursprüngliche Größe dadurch um etwa 33 %.

02

2. Anwendungsfälle für Base64-Bilder

Base64-Bilder werden in verschiedenen Webentwicklungsszenarien eingesetzt. Die Inline-Einbettung kleiner Icons als CSS-background-image reduziert HTTP-Anfragen und verbessert so die Ladegeschwindigkeit der Seite. Wird in E-Mail-Vorlagen genutzt, um die Blockierung externer Bilder zu umgehen. Beim Bereitstellen kompletter Webseiten als einzelne HTML-Dateien können alle Bilder als Base64 eingebettet werden. In RESTful-APIs können Bilder direkt in JSON-Antworten eingebunden werden, ohne einen separaten Datei-Upload. Auch beim Übertragen von mit der Canvas-API erstellten Bildern an den Server üblich.

03

3. Das Data-URL-Format

Die Data-URL ist ein Schema zur Darstellung von Dateien als URL. Format: data:[<mediatype>][;base64],<data>. Beispiel: data:image/png;base64,iVBORw0KG... Der Mediatype gibt einen MIME-Typ wie image/png, image/jpeg oder image/gif an. ;base64 kennzeichnet die Kodiermethode, gefolgt von der eigentlichen Base64-Zeichenfolge. Kann direkt in HTML-img-Tags verwendet werden, etwa <img src="data:image/png;base64,...">. Wird auch in CSS als background: url(data:image/svg+xml;base64,...) genutzt. Browser behandeln Data-URLs wie gewöhnliche URLs, um Bilder anzuzeigen.

04

4. Überlegungen zur Leistungsoptimierung

Bei der Verwendung von Base64-Bildern sollte die Performance berücksichtigt werden. Kleine Bilder (unter 1–2 KB) profitieren von der Inline-Einbettung gegenüber dem Overhead einer HTTP-Anfrage. Große Bilder können durch den 33 % größeren Umfang und den Analyseaufwand von Base64 tatsächlich langsamer werden. Base64-Bilder können nicht im Browser-Cache gespeichert werden und werden jedes Mal zusammen mit HTML/CSS heruntergeladen. Häufig genutzte Bilder sollten als separate Dateien bereitgestellt werden, um Caching zu ermöglichen. Gzip-Komprimierung wirkt bei Base64-Zeichenfolgen effektiv, daher sollte sie auf Servern aktiviert werden. Es ist sinnvoll, Base64 für dekorative Bilder oder Icons zu verwenden, nicht für kritische Inhalte.

05

5. Sicherheitsaspekte

Bei Base64-Bildern bestehen Sicherheitsrisiken. Beim Anzeigen von durch Benutzer hochgeladenen und in Base64 konvertierten Bildern sollte man auf XSS-Angriffe achten. SVG-Bilder sind besonders gefährlich, da sie JavaScript enthalten können. Content-Security-Policy-Header können die Verwendung des data:-Schemas einschränken. Legen Sie Dateigrößenbeschränkungen fest, um Angriffe durch Speichererschöpfung zu verhindern. Validieren Sie Bildtypen, sodass nur zulässige MIME-Typen (image/png, image/jpeg) verarbeitet werden. Die serverseitige Prüfung sollte bestätigen, dass es sich tatsächlich um echte Bilddateien handelt, und auf schädlichen Code prüfen.

06

6. Base64-Konvertierung je nach Programmiersprache

Die meisten Programmiersprachen bieten Base64-Kodierung nativ an. JavaScript verwendet btoa() zum Kodieren, atob() zum Dekodieren und die FileReader-API, um Dateien als Base64 einzulesen. Python stellt b64encode() und b64decode() im Modul base64 bereit. PHP nutzt die Funktionen base64_encode() und base64_decode(). Java bietet getEncoder() und getDecoder() über die Klasse java.util.Base64. Node.js kodiert mit Buffer.from(data).toString("base64") und dekodiert mit Buffer.from(base64, "base64"). Das Einlesen von Bilddateien und deren Konvertierung nach Base64 lässt sich in allen Sprachen einfach mit Standardbibliotheken umsetzen.