JPG zu Base64 Encoder
JPEG ablegen, kopierfertigen data:image/jpeg;base64-String erhalten, ohne ein einziges Byte hochzuladen.
Funktionen
- Gibt die komplette Data-URI mit korrektem image/jpeg-MIME-Präfix aus
- Verlustfreie Byte-für-Byte-Neukodierung, die Ihr Foto nie neu komprimiert
- Kodiert lokal im Browser per Rust und WebAssembly, null Netzwerkanfragen
- Mehrere JPEGs gleichzeitig im Stapel kodieren, ohne Datei- oder Größenlimit
Dateien hier ablegen oder zum Auswählen klicken
PNG, JPG, WebP, BMP, TIFF, or AVIF
JPG zu Base64 verwandelt ein JPEG-Foto in einen kopierfertigen Textstring (eine Data-URI), und zwar vollständig auf Ihrem Gerät, ganz ohne Upload. Entwickler greifen dazu, um ein kleines JPEG direkt in ein HTML-img-src, ein CSS-background-image: url(), ein JS-Bundle oder eine JSON/API-Nutzlast einzubetten, damit das Bild ohne separate HTTP-Anfrage oder externes Hosting erscheint. Da das JPEG oft ein Produktfoto, ein Screenshot oder ein vertrauliches Design-Asset ist, ist die Übergabe an den Server eines Fremden, nur um einen Textstring zu erhalten, genau das Risiko, das dieses Tool beseitigt (jpg und jpeg sind dasselbe Format, beide Endungen funktionieren hier).
Was diese Konvertierung wirklich tut (und was NICHT)
Ein JPEG zu Base64 zu kodieren ist zu 100% verlustfrei. Es komprimiert nicht neu, rendert nicht neu und verändert keinen einzigen Pixel; es liest die bereits komprimierten JPEG-Bytes und drückt sie erneut als ASCII-Text aus, sodass das dekodierte Bild Byte für Byte identisch mit der Quelle ist. Jeglicher Qualitätsverlust geschah früher, als das JPEG erstmals mit einer bestimmten Qualitätsstufe gespeichert wurde, und Base64 fügt diesem weder etwas hinzu noch stellt es etwas wieder her. Das ist ein häufiger Irrtum: Leute erwarten, dass ein Encoder das Foto verschlechtert, doch der Encoder rührt die Bilddaten nie an, nur ihre Darstellung.
Die eine widersprüchlich wirkende Tatsache: Die Ausgabe ist größer als die Quelle, nicht kleiner. Base64 bildet je 3 Bytes auf 4 ASCII-Zeichen ab, verwendet also 8 Bit, um 6 Bit Nutzlast zu transportieren, was den Text um rund 33% aufbläht. Ein 90KB-JPEG wird zu einem etwa 120KB großen Data-URI-String, und ein 300KB-Foto landet bei knapp 400KB. Der Encoder gibt eine korrekte dreiteilige Data-URI aus: das data:-Schema, den MIME-Typ image/jpeg (beachten Sie image/jpeg, nicht image/jpg) und den Marker ;base64, vor der Nutzlast. Eine echte JPEG-Nutzlast beginnt immer mit den Zeichen /9j/, die zu den JPEG-Magic-Bytes FF D8 FF dekodieren, sodass dieses Präfix eine schnelle Möglichkeit ist, zu prüfen, ob der String wirklich ein JPEG enthält. Eines kann es nicht: JPEG hat keinen Alphakanal, daher können Sie anders als bei einem PNG kein transparentes Bild als JPEG-Data-URI einbetten. Wenn Sie Transparenz brauchen, muss die Quelle ein PNG oder WebP sein.
Wann JPG zu Base64 statt der Alternative wählen
Betten Sie ein JPEG nur dann als Data-URI ein, wenn es wirklich klein ist, ungefähr unter 5 bis 10KB, wo das Vermeiden einer separaten HTTP-Runde (DNS, TCP, TLS, Request-Header) günstiger ist als der 33% Text-Überhang. Ab etwa 10KB lädt eine normale, zwischengespeicherte .jpg-Datei fast immer schneller, denn eine Data-URI kann nicht getrennt von dem HTML oder CSS gecacht werden, das sie enthält, und wird mit jeder Datei, die sie einbettet, erneut geladen. Ein großes JPEG in CSS einzubetten ist noch schlimmer: Es macht das Stylesheet renderblockierend und schwerer und verzögert so direkt den ersten Bildaufbau. Ein vollständiges Foto ist daher ein schlechter Data-URI-Kandidat; reservieren Sie das Einbetten für winzige Thumbnails oder LQIP-Blur-up-Platzhalter, und wenn Ihr Foto groß ist, komprimieren Sie es zuerst mit den Bildwerkzeugen. Falls Sie tatsächlich Transparenz brauchen, nutzen Sie stattdessen den alpha-erhaltenden Encoder PNG zu Base64.
So konvertieren Sie
- Legen Sie das JPEG in den Encoder (es wird lokal in Ihrem Browser gelesen, nie hochgeladen).
- Die Datei wird auf Ihrem Gerät zu einer Base64-Data-URI kodiert, samt dem Präfix
data:image/jpeg;base64,. - Kopieren Sie den Data-URI-String oder laden Sie ihn als
.txt-Datei herunter; rechnen Sie mit etwa 33% mehr Größe gegenüber der Quelle, da Data-URIs als Text direkt in HTML und CSS eingebettet werden.
Kein Upload. Es läuft auf Ihrem Gerät.
Die Kodierung läuft in Rust, kompiliert zu WebAssembly, und wird in Ihrem Browser-Tab ausgeführt. Ihr JPEG wird lokal in den Speicher gelesen, kodiert und als Text zurückgegeben, mit null Netzwerkanfragen für die Datei selbst. Nachdem die Seite einmal geladen ist, funktioniert sie vollständig offline, es gibt nichts zu löschen, weil nie etwas hochgeladen wurde, und Sie können es selbst prüfen, indem Sie den Network-Tab der DevTools öffnen und beim Kodieren das Ausbleiben jeglichen Datei-Uploads beobachten. Hier zählt das besonders, weil die JPEGs, die Entwickler in Base64 kodieren, typischerweise Produktfotos, App-Screenshots und vertrauliche Design-Assets sind, die nie auf einem Drittserver liegen sollten. Mehrere Mitbewerber behaupten clientseitige Kodierung, doch manche laden weiterhin über "sicheres HTTPS" hoch; mit überprüfbarem WebAssembly können Sie Ihr Netzwerk trennen und zusehen, wie das Tool weiterarbeitet.
Keine Limits
Kodieren Sie so viele JPEGs, wie Sie wollen, in einem einzigen Stapel, ohne Limit für die Dateianzahl und ohne an Upload-Grenzen gebundenes Größenlimit. Kein Wasserzeichen, keine Anmeldung, keine Werbung, keine abgeschnittene Ausgabe.
Häufig gestellte Fragen
- Wird mein JPEG beim Konvertieren zu Base64 auf einen Server hochgeladen?
- Nein. Das JPEG wird vollständig in Ihrem Browser per Rust, kompiliert zu WebAssembly, gelesen und kodiert, mit null Netzwerkanfragen für die Datei. Sie können das bestätigen, indem Sie beim Kodieren den Network-Tab der DevTools beobachten oder die Internetverbindung trennen und sehen, dass es weiterhin funktioniert.
- Was ist das Präfix data:image/jpeg;base64 und muss ich es einfügen?
- Es ist der dreiteilige Kopf einer Data-URI:
data:ist das Schema,image/jpegist der MIME-Typ, der dem Browser sagt, wie er die Nutzlast interpretieren soll, und;base64,signalisiert, dass der Text danach Base64-kodiert ist. Sie brauchen es, denn ohne dieses Präfix rendert ein Browser den String nicht als Bild. - Warum ist mein Base64-String größer als die ursprüngliche JPEG-Datei?
- Base64 stellt je 3 Binärbytes mit 4 ASCII-Zeichen dar, was etwa 33% mehr Größe bedeutet. Ein 90KB-JPEG wird zu rund einem 120KB-String, also ist das Wachstum zu erwarten und der unvermeidliche Preis dafür, Binärdaten in sicheren, einfügbaren Text zu verwandeln.
- Verringert die Base64-Kodierung die Qualität meines JPEGs?
- Nein. Base64 ist eine verlustfreie Text-Neudarstellung der vorhandenen komprimierten Bytes, keine Neukomprimierung, sodass das dekodierte Bild mit der Quelle identisch ist. Jeglicher Qualitätsverlust geschah bereits, als das JPEG erstmals mit einer bestimmten Qualitätsstufe gespeichert wurde, und die Kodierung fügt ihm weder etwas hinzu noch entfernt sie etwas.
- Wie nutze ich eine JPEG-Data-URI in HTML img src oder CSS background-image?
- In HTML fügen Sie die vollständige Data-URI als Bildquelle ein, zum Beispiel
<img src="data:image/jpeg;base64,/9j/4AAQ...">. In CSS verwenden Sie sie innerhalb einer Background-Deklaration, zum Beispielbackground-image: url("data:image/jpeg;base64,/9j/4AAQ..."), wobei zu bedenken ist, dass eine große das Stylesheet renderblockierend macht. - Wie dekodiere ich einen Base64-String zurück in eine .jpg-Datei?
- Fügen Sie die vollständige Data-URI (oder das rohe Base64 nach dem Komma) in einen Decoder ein, der die Abbildung von 4 Zeichen pro 3 Bytes umkehrt, um die ursprünglichen JPEG-Bytes zu rekonstruieren. Da der Hin- und Rückweg verlustfrei ist, ist die wiederhergestellte
.jpgByte für Byte identisch mit der Datei, die Sie kodiert haben. - Sollte ich image/jpeg oder image/jpg in der Data-URI verwenden?
- Verwenden Sie immer
image/jpeg. Der registrierte MIME-Typ für JPEG istimage/jpeg, währendimage/jpgkein offizieller Typ ist und manche Browser oder Parser ihn nicht erkennen, auch wenn die Dateiendung üblicherweise als.jpggeschrieben wird. - Wann sollte ich ein JPEG NICHT zu Base64 konvertieren?
- Lassen Sie Base64 bei jedem Bild über etwa 10KB weg, da eine verlinkte
.jpgmit Browser-Caching schneller lädt und eine Data-URI nicht getrennt von ihrer Hostdatei gecacht werden kann. Vollständige Fotos sind schlechte Kandidaten, weil sie groß sind; betten Sie nur winzige Thumbnails oder Blur-up-Platzhalter ein. - Kann ich ein JPEG-Base64-Bild in einer E-Mail-Signatur verwenden?
- Das ist unzuverlässig. Gmail und mehrere andere E-Mail-Clients entfernen Base64-Data-URI-Bilder oder weigern sich, sie zu rendern, sodass das Bild im Posteingang des Empfängers oft kaputt erscheint. Verlinken Sie für Signaturen lieber ein gehostetes Bild, statt es einzubetten.
- Kann ich mehrere JPEGs gleichzeitig zu Base64 konvertieren?
- Ja, Sie können mehrere JPEGs in einem Durchgang im Stapel kodieren, ohne Limit für Dateianzahl oder Größe. Jedes wird unabhängig und lokal kodiert, sodass ein Ordner voller Fotos zusammen verarbeitet werden kann, ohne dass eines davon ein Netzwerk berührt.
Verwandte Tools: Behalten Sie die Transparenz mit PNG zu Base64 oder durchstöbern Sie den vollständigen Bildwerkzeuge-Hub.