Anleitung
- Legen Sie eine .jpg- oder .jpeg-Datei auf dem Ablagebereich ab, klicken Sie darauf, um eine Datei auszuwählen, oder fügen Sie ein Bild ein.
- Um die Datei unverändert zu lassen, belassen Sie „Konvertieren in“ auf „Original beibehalten“. Zum Verkleinern wählen Sie JPEG oder WebP und senken die „Qualität“.
- Legen Sie unter „Max. Breite“ eine maximale Breite fest, wenn das Foto größer ist, als es später angezeigt wird.
- Kopieren Sie die benötigte Ausgabe, etwa den img-Tag für eine Seite oder reines Base64 für eine API, oder laden Sie sie als Datei herunter.
JPEG in Kürze
JPEG ist das Standardformat für Fotos. Es nutzt verlustbehaftete Komprimierung, verwirft also Details, die das Auge kaum wahrnimmt, und unterstützt keine Transparenz. Dateien enden auf .jpg, .jpeg oder manchmal .jfif, der MIME-Typ ist aber immer image/jpeg; image/jpg ist kein registrierter Typ, auch wenn viele Browser ihn tolerieren. Eine JPEG-Data-URI beginnt mit data:image/jpeg;base64,/9j/, dem kodierten Start-of-Image-Marker.
Ein Foto vor der Kodierung verkleinern
Bei Fotos fällt der Base64-Aufschlag am stärksten ins Gewicht: Aus einem 200 KB großen JPEG werden etwa 270 KB Text. Zwei Einstellungen bewirken den größten Unterschied:
- Maximale Breite. Eine Halbierung der Breite reduziert die Pixelzahl auf ein Viertel. Ein Handyfoto mit 4000 Pixeln Breite wird selten in dieser Größe benötigt.
- Qualität. Werte um 70 bis 80 % sehen auf dem Bildschirm meist genauso aus wie das Original und sind deutlich kleiner. Sehr niedrige Werte erzeugen blockartige Artefakte.
Eine Konvertierung in WebP bei ähnlicher Qualität ist oft noch kleiner. Achten Sie auf die kodierte Größe, die für jede Einstellung angezeigt wird, und behalten Sie das kleinste Ergebnis, das noch gut aussieht.
EXIF-Metadaten
Fotos von Kameras und Smartphones enthalten EXIF-Metadaten: Kameramodell, Datum und Uhrzeit und manchmal GPS-Koordinaten. Ohne Konvertierung enthält die Base64-Ausgabe die Originalbytes samt Metadaten, und jeder, der sie dekodiert, kann diese auslesen. Genau das ist gewünscht, wenn es auf die exakte Datei ankommt, etwa wenn eine API einen Hash prüft oder das Aufnahmedatum ausliest.
Bei einer Konvertierung werden die Pixel im Browser neu kodiert, und die EXIF-Daten werden nicht übernommen. Die Ausgabe ist kleiner und verrät nicht mehr, wo das Foto aufgenommen wurde.
Wann sich eine JPEG-Data-URI lohnt
Gut geeignet sind winzige unscharfe Platzhalter (ein 20 bis 40 Pixel breites Bild, das eingebettet wird, während das vollständige Foto per Lazy Loading nachgeladen wird), Vorschaubilder in JSON-Antworten und HTML-Exporte in einer einzigen Datei. Hero-Bilder und Galerien gehören in separate Dateien, die der Browser zwischenspeichern kann.
# Python
import base64
with open('photo.jpg', 'rb') as f:
uri = 'data:image/jpeg;base64,' + base64.b64encode(f.read()).decode('ascii')
Häufig gestellte Fragen
Ist JPG dasselbe wie JPEG?
Ja. Die kürzere Endung .jpg stammt aus Systemen, die nur drei Zeichen erlaubten. Beide bezeichnen dasselbe Format mit dem MIME-Typ image/jpeg.
Verringert die Base64-Kodierung die JPEG-Qualität?
Nein. Base64 ist eine verlustfreie Darstellung der Dateibytes. Die Qualität ändert sich nur, wenn Sie eine Konvertierung wählen, die das Bild mit der eingestellten Qualität neu kodiert.
Kann eine JPEG-Data-URI einen transparenten Hintergrund haben?
Enthält der Base64-String den Aufnahmeort meines Fotos?
Das ist möglich. Wenn das Original-JPEG GPS-Daten in seinen EXIF-Metadaten enthält und Sie es unverändert kodieren, steht der Standort im String. Eine Konvertierung des Bildes entfernt die EXIF-Metadaten.