Ein Bild in Base64 / Data URI encodieren

konvertiert Ihre Bilder in Base64-Strings, ideal um Bilder direkt in HTML oder CSS einzubetten ohne zusätzliche HTTP-Anfrage
Dateiformat

Sie können beliebig viele Bilder mit einer maximalen Größe von 20M hochladen.

Sicherheit

Ihre Daten werden nicht auf unseren Servern gespeichert.

Unterstützte Browser

Alle aktuellen Browser werden unterstützt. Sollten Sie dennoch auf einen Fehler stoßen, melden Sie ihn uns bitte zur Behebung.

Was ist eine Data-URI?

Eine Data-URI ist eine URL, die die Daten einer Ressource direkt enthält, anstatt auf eine externe Datei zu verweisen. Ihre allgemeine Form ist data:[<mediatype>][;base64],<data>. Für ein Bild hat man typischerweise data:image/png;base64,iVBORw0KGgo…. Die Ressource ist in HTML, CSS oder JSON eingebettet und wird ohne zusätzliche HTTP-Anfrage geladen.

Warum ein Bild in Base64 kodieren?

Häufige Gründe:

  • HTTP-Anfragen reduzieren: ein Icon direkt in das CSS einbetten statt es zusätzlich zum Dokument zu laden
  • E-Mail-Signatur mit eingebettetem Bild: kein Risiko, dass das Bild als externer Inhalt blockiert wird
  • Web Components / Web Workers: wo das Laden einer externen Ressource häufig Scope- oder CORS-Probleme verursacht
  • Lokaler Speicher (LocalStorage, IndexedDB, Datenbank): ein Avatar-Vorschaubild als Zeichenkette serialisieren
  • Eigenständige Snippets: eine HTML-Datei, die ohne externe Abhängigkeiten auskommt

Typische Anwendungsfälle

Konkrete Kontexte, in denen Base64-Bildkodierung sinnvoll ist:

  • Inline-SVG-Icons in CSS (background-image: url("data:image/svg+xml;base64,…"))
  • Personalisierte E-Mail-Signaturen mit Logo
  • Schnelles Prototyping einer eigenständigen, per E-Mail geteilten Seite
  • Eigenständige Web Components (eine einzelne bereitstellbare Datei)
  • Browser-seitige PDF-Generierung (jsPDF) mit eingebetteten Vorschaubildern
  • Testdaten (Mocks), die Bilder enthalten

Verwendung

Drei Schritte:

  1. Laden Sie Ihr Bild (PNG, JPG, SVG, WebP, GIF) über den Uploadbereich hoch
  2. Klicken Sie auf "Kodieren"
  3. Kopieren Sie die resultierende Data-URI mit der entsprechenden Schaltfläche und fügen Sie sie in Ihr HTML, CSS oder JSON ein

Einschränkungen und Best Practices

Base64 ist keine universelle Lösung. Einige Hinweise:

  • Base64 erhöht die Größe um ~33 %: 4 ASCII-Zeichen für je 3 Binär-Bytes
  • Kodierte Bilder werden vom Browser nicht separat gecacht; sie werden zusammen mit dem HTML/CSS, das sie enthält, neu geladen
  • Zu bevorzugen für Bilder unter 10 KB; darüber ist eine externe Datei in der Regel effizienter
  • Für SVG URL-Encoding bevorzugen (via encodeURIComponent) statt Base64: das Ergebnis ist kürzer und bleibt als Text lesbar
  • Moderne Build-Tools (Webpack, Vite) automatisieren die Wahl Base64 vs. externe Datei über eine konfigurierbare Größenschwelle

Konkrete Beispiele

HTML:

<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNgYAAAAAMAAS+rJYwAAAAASUVORK5CYII=" alt="pixel">

CSS:

.icon {
  background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0i…") no-repeat;
  width: 16px;
  height: 16px;
}

JSON (Mock-Daten):

{
  "user": {
    "name": "Adrien",
    "avatar": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEA…"
  }
}

FAQ

Was ist der Unterschied zwischen Base64 und Binär?

Binär repräsentiert die rohen Bytes einer Datei. Base64 ist eine Kodierung, die diese Bytes in 64 druckbare ASCII-Zeichen umwandelt (A-Z, a-z, 0-9, +, /). Textkontexte (HTML, JSON, E-Mail) können kein Binär transportieren; Base64 löst dieses Problem auf Kosten eines Größenoverheads von 33 %.

Warum ist meine Data-URI so lang?

Ein 30 KB großes Bild in Binär wird zu ~40 KB in Base64. Und jedes Zeichen ist ein ASCII-Byte, daher ist die Zeichenkette lang. Das ist der Kodierung inhärent. Für große Bilder eine externe Datei verwenden.

Unterstützen alle Browser Data-URIs?

Ja, ausnahmslos unter modernen Browsern (Chrome, Firefox, Safari, Edge, sogar IE8). Historische Einschränkung: IE8 hatte ein Limit von 32 KB. Heute kein Problem mehr.

Wie dekodiert man eine Data-URI?

Unser Base64-Bild-Dekoder führt die umgekehrte Operation durch: fügen Sie Ihre Data-URI ein und erhalten Sie die Bilddatei (PNG, JPG, SVG, WebP) zum Herunterladen oder Speichern.

Base64 vs. URL-Encoding für SVG?

Für SVG erzeugt URL-Encoding (mit encodeURIComponent) eine kürzere Zeichenkette als Base64 und bleibt als Text lesbar. Das ist die empfohlene Wahl in CSS beim Einbetten eines Inline-SVG. Für Binärformate (PNG, JPG) bleibt Base64 obligatorisch.

Beeinflusst die Base64-Kodierung die Bildqualität?

Nein. Die Kodierung ist verlustfrei: es handelt sich um eine Bijektion Binär-Byte <-> Base64-Zeichenkette. Die Originalpixel bleiben streng erhalten. Nur die Größe der transportierten Datei steigt um 33 %.

Häufig gestellte Fragen

Wann sollte man Data-URIs vermeiden?

Sobald ein Bild mehr als einige Kilobytes hat und auf mehreren Seiten wiederverwendet werden soll, ist eine externe Datei vorzuziehen. Der Browser kann sie dann separat vom referenzierenden HTML cachen. Eine Data-URI verlängert das Hauptdokument und zwingt dazu, das Bild bei jedem Seitenaufruf erneut zu laden.

Wird mein Bild an einen Server gesendet?

Das Bild wird für die Dauer der Kodierung über unseren Server übertragen und nicht nach der Rückgabe des Ergebnisses gespeichert. Es wird kein Drittdienst angesprochen. Für streng vertrauliche Dateien ist das lokale Äquivalent base64 -w 0 mein-bild.png unter Linux oder certutil -encode unter Windows.

Warum URL-Encoding statt Base64 für SVG bevorzugen?

Ein SVG ist XML-Text. Base64-kodiert wird er unlesbar und etwa 33 % größer. Mit URL-Encoding via encodeURIComponent bleibt das Ergebnis lesbar und kürzer. In CSS ergibt url("data:image/svg+xml;utf8,<svg…>") mit maskierten Sonderzeichen eine kleinere Enddatei als die Base64-Version.

Welche maximale Größe kann ich kodieren?

Die vom Formular akzeptierte Dateigröße ist auf einige Megabyte begrenzt, was für die große Mehrheit der Icons, Vorschaubilder und Avatare ausreicht. Darüber hinaus verlässt man den sinnvollen Anwendungsfall einer Data-URI: eine statische Datei, die von Ihrem CDN ausgeliefert wird, ist für den Browser und Ihre Core Web Vitals wesentlich effizienter.

Warum wird eine Data-URI vom Browser nicht gecacht?

Der HTTP-Cache funktioniert über URLs. Eine Data-URI ist Teil des Dokuments, das sie enthält, wird also mit ihm neu geladen. Ein externes Icon als icon.png hingegen wird einmal gecacht und auf allen Seiten, die es referenzieren, wiederverwendet. Das ist der Hauptgrund, warum die Data-URI ein Nischenwerkzeug bleibt und kein allgemeiner Ersatz.

Beispielanfrage

curl -X POST https://cdrn.fr/api/v1/tools/base64-image-encoder/execute \
  -F "file=@/path/to/file"

Eingabeschema

Feld Typ Erforderlich Standard
file file

dieses Tool erwartet eine Datei - verwenden Sie Content-Type multipart/form-data anstelle von application/json

Endpunkte

  • GET https://cdrn.fr/api/v1/tools - listet alle verfügbaren Tools auf
  • GET https://cdrn.fr/api/v1/tools/base64-image-encoder - liefert das Schema dieses Tools
  • POST https://cdrn.fr/api/v1/tools/base64-image-encoder/execute - führt dieses Tool mit einem JSON-Payload aus