Initializing, please wait a moment

Bild zu Base64: In HTML/CSS einbetten vs Bilddatei verlinken

Zuletzt geprueft 2026-05-05. Konvertieren Sie im Browser mit Image to Base64 oder fuegen Sie eine bestehende Daten-URL in Base64 to Image ein; beide laufen auf Ihrem Geraet ohne Upload.

30-Sekunden-Antwort. Einbetten (die Base64-Daten-URL in das HTML / CSS einfuegen) nur, wenn das Bild unter etwa 4 KB liegt, auf einer oder zwei Seiten verwendet wird und niemals erwartet wird zu wechseln. Bilddatei verlinken (eine normale <img src="..."> oder background:url(...)) fuer alles andere. Der Break-Even ist die Kosten einer zusaetzlichen HTTP-Anfrage vs der 33% Groessenpenalitaet plus dem Verlust des Caching.

Warum es ueberhaupt zwei Optionen gibt

Eine HTML- oder CSS-Datei ist ein Textformat. Ein Bild (PNG, JPG, WebP, SVG-als-Binaer) ist binaer. Um ein Bild inline in eine Textdatei zu setzen, kodieren Sie das Binaere als Base64 (ein 64-Zeichen-ASCII-Alphabet) und huellen es in eine data:image/png;base64,...-URL ein. Der Browser dekodiert die Daten-URL spontan und behandelt das Ergebnis, als ob es geholt worden waere. Die Alternative ist ein normaler Dateipfad, den der Browser ueber HTTP holt und unabhaengig cached.

Beide funktionieren. Keiner ist universell besser. Die Entscheidung dreht sich um Groesse, Cache-Verhalten und wie oft sich das Bild aendert.

Die Entscheidungsregel (Entscheidungstabelle)

Bildgroesse (Rohbytes)Wiederverwendet auf...Wahrscheinlich aendern?Empfehlung
unter 1 KBbeliebige SeitenanzahlneinEinbetten - die Anfragenkosten dominieren
1-4 KBeine oder zwei SeitenneinEinbetten, wenn Sie HTTP/2 nicht multiplexen koennen; verlinken, wenn Sie es koennen
1-4 KB3+ SeitenneinVerlinken - eine gecachte Datei schlaegt N Inline-Kopien
4-50 KBbeliebigbeliebigVerlinken - Inline-Strafe ist bedeutsam
ueber 50 KBbeliebigbeliebigVerlinken - Inline blockiert Parsing und blaeht jede Seite auf, die das CSS / HTML enthaelt
beliebige GroesseSVG als CSS-Maske oder Hintergrund verwendetneinEinbetten des SVG als Daten-URL (Text-Modus SVG; kein Base64 erforderlich) fuer IE-freie CSS-Gradienten und Masken

Der Break-Even auf der Anfragenseite kommt davon, wie viele Bytes eine einzelne HTTP-Anfrage kostet. Bei HTTP/2 ueber eine warme Verbindung ist das etwa ein Round-Trip plus ein paar hundert Bytes Header. Bei HTTP/1.1 mit einer kalten Verbindung koennen die Kosten ein vollstaendiger RTT plus TLS plus Verbindungsaufbau sein - mehrere KB-Aequivalent. Die "Einbetten unter 4 KB"-Richtlinie geht von HTTP/1.1 aus; bei HTTP/2 verschiebt sich der Break-Even auf etwa 1 KB.

Was Sie durch Einbetten aufgeben

  • Browser-Cache. Ein verlinktes Bild wird einmal geholt und aus dem Cache fuer jede nachfolgende Seite bereitgestellt. Eine eingebettete Daten-URL wird fuer jede Seite, die das Host-CSS / HTML enthaelt, neu geparst und neu dekodiert. Die HOST-Datei wird gecached, aber die Kosten fuer die Dekodierung der Daten-URL werden bei jedem Seiten-Rendering bezahlt.
  • Unabhaengige Aktualisierungen. Ein verlinktes Bild kann ohne erneutes Bereitstellen des HTML oder CSS ersetzt werden. Eine eingebettete Daten-URL versendet mit der Host-Datei, sodass das Aktualisieren des Bildes das erneute Bereitstellen jeder Seite bedeutet, die dieses CSS versendet.
  • 33% Kodierungs-Overhead. Drei Bytes Binaer werden zu vier Bytes Base64. Ein 4-KB-PNG wird inline ~5,4 KB. Auf einem Single-Page-Widget ist das Rauschen; ueber hundert Wiederverwendungen summiert es sich.
  • CDN-Flexibilitaet. Ein verlinktes Bild kann von einem separaten Bild-CDN bedient werden, on-the-fly transformiert oder basierend auf Accept-Headern durch WebP / AVIF ersetzt werden. Eingebettetes Base64 ist zur Build-Zeit eingefroren.

Was Sie durch Verlinken aufgeben (der Fall fuer Einbetten)

  • Eine zusaetzliche Anfrage. Bei HTTP/1.1 mit einer kalten Verbindung kann das 50-200 ms sein; bei HTTP/2 liegt es naeher an einem RTT plus ein paar hundert Bytes. Fuer ein kritisches Above-the-Fold-Icon kann das der Unterschied zwischen einem Flash von ungesty Inhalt und einem sauberen First Paint sein.
  • E-Mail-Body-Bilder. E-Mail-Clients variieren stark im Umgang mit externen Bildern; viele blockieren standardmaessig aus Datenschutzgruenden. CID-angehaengte oder Base64-inlinierte Bilder rendern vorhersagbar. (Die meisten Mail-Clients bevorzugen immer noch CID gegenueber Base64 im Body, aber Base64 in MIME-Teilen ist der zugrunde liegende Mechanismus.)
  • Selbst-enthaltene Snapshots. Eine einzelne HTML-Datei mit eingebetteten Bildern ist ein vollstaendiger Snapshot - nuetzlich fuer Berichte, archivierte Dokumente, Single-File-Demos und ".eml"-Exporte. Verlinkte Bilder erfordern, dass der Pfad weiter funktioniert; eingebettete nicht.

Die 30-Sekunden-Sanity-Pruefung

Oeffnen Sie die Datei, die Sie ausliefern wollen, in einem Texteditor und sehen Sie sich die data:image/...;base64,-Zeichenkette an. Drei schnelle Pruefungen:

  1. Laenge. Wenn die kodierte Zeichenkette ueber ~6.000 Zeichen (≈ 4 KB Roh) ist, nicht einbetten. Verlinken Sie die Datei stattdessen.
  2. Wiederverwendungszaehler. Suchen Sie im Codebase nach der genauen Zeichenkette. Wenn dieselbe Daten-URL in 3+ Dateien erscheint, zahlen Sie die Kodierungsstrafe 3+ mal. Verlinken Sie es.
  3. Volatilitaet. Wenn das Bild ein Logo, ein Platzhalter-Avatar oder irgendetwas ist, dass "das Designteam naechsten Monat anpassen koennte", verlinken Sie es. Einbetten friert das Bild zur Build-Zeit ein.

Zwei-von-drei "einbetten"-Antworten bedeutet einbetten. Zwei-von-drei "verlinken"-Antworten bedeutet verlinken. Eins-und-eins ist normalerweise ein Zeichen dafuer, dass die richtige Antwort vom umgebenden System abhaengt - HTTP-Version, Build-Pipeline, CDN-Setup.

Haeufig gestellte Fragen

Verschluesselt Base64 das Bild?

Nein. Base64 ist Kodierung, keine Verschluesselung. Jeder, der die Daten-URL sieht, kann sie in einen Dekoder einfuegen (oder das Base64 to Image dieser Site) und die Originalbytes zurueckbekommen. Wenn das Bild sensibel ist, legen Sie es nicht in eine oeffentliche HTML- / CSS-Datei, unabhaengig von der Kodierung.

Kann ich JPG und PNG mit derselben Kodierung einbetten?

Ja - die Kodierung ist inhaltsagnostisch. Verwenden Sie data:image/png;base64,... fuer PNG, data:image/jpeg;base64,... fuer JPG, data:image/webp;base64,... fuer WebP. Das MIME-Praefix sagt dem Browser, wie er dekodieren soll, nicht welche Art von Binaer Base64 enthaelt.

Und SVG - brauche ich Base64 dafuer?

Nein. SVG ist bereits Text. Sie koennen es in einer Daten-URL als data:image/svg+xml;utf8,... mit dem SVG-XML inline einsetzen (URL-kodieren Sie # und <); Base64 ist optional und etwas groesser. Fuer kleine CSS-Hintergrund-SVGs ist die Textmodusform sauberer.

Wird Google ein Bild indexieren, das ich als Base64 einbette?

Im Allgemeinen nein - Suchmaschinen bevorzugen Bild-URLs, die sie unabhaengig crawlen, cachen und ranken koennen. Wenn Sie das Bild in der Bildsuche auffindbar haben wollen, verlinken Sie es als normale Datei. Wenn das Bild dekorativ ist (ein Icon, ein Trennzeichen, eine UI-Affordance ohne semantischen Inhalt), ist Einbetten in Ordnung.

Wie gross ist die kodierte Zeichenkette im Vergleich zur Datei?

Kodierte Groesse = ⌈Eingabebytes / 3⌉ × 4. Ein 1-KB-Bild wird ~1,36 KB kodiert; ein 10-KB-Bild wird ~13,4 KB kodiert. Der 33%-Overhead ist exakt fuer Eingaben, deren Laenge ein Vielfaches von 3 ist, und ein paar Bytes mehr fuer andere (das nachgestellte "="-Padding).

Aendert HTTP/2 die Antwort?

Ja - HTTP/2 multiplext viele kleine Anfragen ueber eine Verbindung, sodass die Pro-Anfrage-Kosten stark sinken. Die "Einbetten unter 4 KB"-Richtlinie verschiebt sich auf "Einbetten unter 1 KB" bei HTTP/2; darueber verlinken Sie die Datei. HTTP/3 (QUIC) ist aehnlich.

Verwandt

  • Image to Base64 - konvertieren Sie eine Bilddatei zu einer Daten-URL im Browser. Verwenden Sie dies, wenn Sie einbetten wollen.
  • Base64 to Image - fuegen Sie eine Daten-URL ein und laden Sie das Bild herunter. Verwenden Sie dies, wenn Sie ein eingebettetes Bild zu einer regulaeren Datei extrahieren wollen.
  • Base64 wann verwenden und wann nicht - der breitere Begleitleitfaden, der E-Mail-MIME, JSON, URL-Parameter und die Faelle abdeckt, in denen Base64 das vollkommen falsche Werkzeug ist.
  • Image Tools - alle Bild-Utilities (komprimieren, konvertieren, zuschneiden, Groesse aendern) auf freetoolonline.com.

Why trust these tools

  • Ten-plus years of web tooling. The freetoolonline editorial team has shipped browser-based utilities since 2015. The goal has never changed: get you to a working output fast, without an install.
  • Truly in-browser - no upload. Every file-processing tool on this site runs in your browser through modern Web APIs (File, FileReader, Canvas, Web Audio, WebGL, Web Workers). Your photo, PDF, audio, or text never leaves your device.
  • No tracking during tool use. Analytics ends at the page view. The actual input you paste, drop, or capture is never sent to any server and never written to any log.
  • Open-source core components. The processing engines underneath (libheif, libde265, pdf-lib, terser, clean-css, ffmpeg.wasm, and others) are public and audit-able. We link to each one in its tool page's footer.
  • Free, with or without ads. All tools are fully functional without sign-up. The Disable Ads button in the header is always available if you need a distraction-free run.