Datei hochladen
  1. base64hub
  2. Web- & Token-Tools
  3. Data-URI-Generator

Data-URI-Generator

Geben Sie Text ein oder legen Sie eine Datei ab, um eine data:-URI mit dem richtigen MIME-Typ und Zeichensatz zu erhalten, und kopieren Sie sie dann als reine URI, als CSS-url(), als HTML-Tag oder als Markdown.

Kostenlos ohne Anmeldung, ohne Limits Lokal kein Upload Snippets CSS, HTML, Markdown, @font-face Aktualisiert 27.10.2026
Nutzdaten –URI-Länge –Overhead –

Wird in Ihrem Browser verarbeitet. Diese Seite kann Ihre Daten nirgendwohin senden – woher wir das wissen

So erstellen Sie eine Data-URI

  1. Wählen Sie einen Modus. Aus Text (Standard) kodiert, was Sie eingeben oder einfügen. Aus Datei nimmt eine abgelegte, eingefügte oder ausgewählte Datei beliebigen Typs. Analysieren geht den umgekehrten Weg und zerlegt eine URI.
  2. Unter Aus Text legen Sie MIME-Typ (zum Beispiel text/css oder application/json), einen Zeichensatz und die Kodierung fest: Base64 oder URL-kodiert. Unter Aus Datei wird der MIME-Typ aus der Datei übernommen und lässt sich bearbeiten.
  3. Wählen Sie das Ausgabeformat: Data-URI, CSS-url(), HTML-<a> mit Dateinamen für den Download oder Markdown. HTML-<img> erscheint bei Bildern, @font-face bei Schriften.
  4. Klicken Sie auf Ausgabe kopieren. Datei herunterladen speichert die Nutzdaten selbst, Als .txt speichern den Ausgabetext.

Unter den Schaltflächen zeigt Nutzdaten die Größe der Daten, URI-Länge die Größe des Ergebnisses und Overhead die Differenz in Prozent.

Die Syntax einer Data-URI

Eine Data-URI packt eine ganze Datei in eine URL:

data:[<media type>][;charset=<charset>][;base64],<data>
TeilBeispielHinweise
Medientypimage/png, text/cssoptional; leer bedeutet text/plain;charset=US-ASCII
Parameter;charset=utf-8für Texttypen; weitere Paare ;key=value sind erlaubt
;base64;base64die Daten sind Base64; ohne die Angabe sind sie prozentkodiert
Datennach dem Kommadie Nutzdaten

Ein paar Beispiele:

Data-URIEnthält
data:,Hello%2C%20World%21den Text Hello, World!, Typ implizit
data:text/plain;charset=utf-8;base64,SGVsbG8sIFdvcmxkIQ==denselben Text, Base64
data:text/css,body%7Bcolor:%23333%7Deine CSS-Regel, URL-kodiert
data:application/json;base64,eyJvayI6dHJ1ZX0={"ok":true}

Das Komma ist Pflicht, auch wenn die Daten leer sind: data:, ist eine gültige, leere URI.

Base64 oder URL-kodiert

Beide Kodierungen ergeben eine gültige URI; sie unterscheiden sich in Größe und Lesbarkeit.

NutzdatenURI mit Base64URI URL-kodiert
Hello, World! als text/plain;charset=utf-857 Zeichen45 Zeichen
body{color:#333} als text/css45 Zeichen36 Zeichen
{"ok":true} als application/json45 Zeichen41 Zeichen
<h1>Héllo</h1> als text/html;charset=utf-856 Zeichen56 Zeichen

Reiner ASCII-Text ist URL-kodiert kürzer, und Sie können ihn im Quelltext noch lesen. Jedes Nicht-ASCII-Byte kostet drei Zeichen (é ist %C3%A9), Text in anderen Schriften spricht also schnell für Base64. Für Bilder, Schriften, PDFs und andere Binärdateien nehmen Sie Base64; der Generator warnt, wenn Sie für Binärdaten URL-Kodierung wählen.

Die URL-Kodierung ist hier zurückhaltend: Buchstaben, Ziffern und - . _ ~ ! $ * + , ; = : @ / ? bleiben, wie sie sind, alles andere wird maskiert, auch #, %, Anführungszeichen, Klammern und Leerzeichen. Ein rohes # würde die URI beenden, weil Browser es als Beginn eines Fragments lesen. Für SVG gibt es unter SVG in Data-URI eine dritte, kürzere Option.

Wo Data-URIs funktionieren

  • Bilder in <img src>, CSS-background-image, <link rel="icon"> und im poster eines Videos.
  • Schriften in src von @font-face, praktisch für eine kleine Icon-Schrift. Der Generator baut die Regel für Sie, wenn der MIME-Typ eine Schrift ist.
  • Downloads über <a href="data:..." download="report.csv">, für Dateien, die in einer Seite ohne Server erzeugt werden.
  • Stylesheets und Skripte, geladen mit <link href> oder <script src>, wenn die Content Security Policy der Seite data: dafür erlaubt.
  • Test-Fixtures und JSON-Payloads, die eine kleine Datei inline brauchen.

Sie funktionieren nicht überall. Chrome und Firefox blockieren von Seiten ausgelöste Navigation des ganzen Tabs zu einer data:-URL, ein Link auf data:text/html,... bewirkt beim Klick also nichts. Eine Content Security Policy muss data: in img-src, font-src oder der jeweiligen Direktive aufführen. Viele Webmail-Clients, darunter Gmail, verwerfen Bilder als Data-URI vollständig; siehe Base64 in E-Mails.

Größe und Performance

Base64 macht Binärdaten etwa 33 % größer, und die URI wiederholt sich in jeder Seite oder jedem Stylesheet, das sie enthält, ohne eigenen Cache-Eintrag. Für kleine Assets von wenigen Kilobyte ist das ein guter Tausch, für Fotos ein schlechter. Performance von Data-URIs geht die Zahlen durch. Speziell für Bilder kann Bild in Base64 vor dem Kodieren verkleinern und umwandeln.

Eine Data-URI im Code bauen

URL-kodierter Text in JavaScript:

const uri = "data:text/plain;charset=utf-8," + encodeURIComponent("Prices: 5 € & up");
// data:text/plain;charset=utf-8,Prices%3A%205%20%E2%82%AC%20%26%20up

Base64-JSON in Python:

import base64, json

obj = {"name": "Ada", "langs": ["en", "fr"]}
uri = "data:application/json;base64," + base64.b64encode(json.dumps(obj).encode()).decode()
# data:application/json;base64,eyJuYW1lIjogIkFkYSIsICJsYW5ncyI6IFsiZW4iLCAiZnIiXX0=

Mehr unter Base64 in JavaScript und Base64 in Python. Um eine gefundene Data-URI zu untersuchen, nehmen Sie den Data-URI-Parser.

Häufige Fragen

Was ist der Unterschied zwischen einer Data-URI und einer Data-URL?

In der Praxis keiner. RFC 2397 nennt es das URL-Schema „data“, Browser und der Fetch-Standard sagen Data-URL; Data-URI ist der ältere, ebenso verbreitete Name für dieselbe data:-Syntax.

Wann sollte ich URL-Kodierung statt Base64 verwenden?

Bei kurzem, überwiegend ASCII-Text wie CSS, JSON oder SVG ist URL-Kodierung oft kürzer und bleibt lesbar. Bei Binärdateien ist Base64 immer kleiner, denn Prozentkodierung macht aus den meisten Bytes drei Zeichen.

Brauche ich ;charset=utf-8 in einer Data-URI?

Bei Text mit auch nur einem Nicht-ASCII-Zeichen ja. Ohne die Angabe gilt für eine text/plain-Data-URI standardmäßig US-ASCII, und é oder € können als zwei oder drei falsche Zeichen erscheinen. Bilder und andere Binärtypen haben keinen Zeichensatz.

Warum öffnet ein Klick auf meinen data:-Link nichts?

Chrome und Firefox verhindern, dass Seiten den ganzen Tab zu einer data:-URL navigieren, weil das massenhaft für Phishing genutzt wurde. Bilder, Stylesheets, Schriften und Downloads mit <a download> funktionieren weiterhin.

Gibt es eine Größenbegrenzung für Data-URIs?

Die Grenzen unterscheiden sich je nach Browser und sind für Bilder großzügig, aber sehr lange URIs machen Seiten langsam, und manche Tools kürzen sie. Der Generator warnt ab 2 MB; bei so großen Dateien verlinken Sie lieber eine Datei.