Browser-Werkzeug

Base64-Bildkompressor

Dekodiere ein Base64-Bild lokal, passe Größe, Qualität oder Format an und erhalte Standardausgabe für img src, CSS, JSON und APIs.

Lokal im Browser · Kein Upload · Kein Konto

Füge Raw Base64 mit Leerraum oder eine vollständige data:image/...;base64,...-Adresse ein. Entfernte URLs werden nicht unterstützt.

Kompressionseinstellungen

Ergebnis

Originalvorschau

Wähle oder füge ein Bild ein.

Ergebnisvorschau

Wähle oder füge ein Bild ein.

Originalinformationen

Ergebnisinformationen

Base64 ist Kodierung, keine Bildkompression

Standard-Base64 stellt je drei Bytes mit vier Zeichen dar: exakt 4 × ceil(n / 3), langfristig etwa 33,3% mehr. Eine Data URL ergänzt noch den MIME-Präfix.

Das Werkzeug verkleinert zuerst die Bilddaten: dekodieren, bei Bedarf Abmessungen, Qualität oder Format ändern und anschließend wieder Standard-Base64 erzeugen.

Gzip erzeugt ein anderes Format

Gzip über Base64 ergibt komprimierte Binärdaten, die vor der Anzeige entpackt werden müssen. Erneutes Base64 macht daraus keine normale Bild-Data-URL.

JPEG, PNG und WebP sind bereits komprimiert. Weniger Pixel, verlustbehaftete Qualität, entfernte Metadaten oder ein anderes Format können helfen, garantieren aber weder Verlustfreiheit noch Einsparung.

Zielgröße ohne größeres Ergebnis

Für JPEG und WebP wird die Qualität mit fester Obergrenze gesucht. Reicht das nicht, werden die Abmessungen in begrenzten Runden bei gleichem Seitenverhältnis reduziert.

Sinkt die Zahl der Standard-Base64-Zeichen nicht, bleiben die Originalbytes erhalten. Ein kleineres Ergebnis, das das KB-Ziel verfehlt, wird eindeutig markiert.

Lokal und mit klaren Formatgrenzen

Alles bleibt im Browser-Tab; keine Uploads, entfernten URLs, Telemetrie oder Bildbibliotheken. Grenzen: 20 MiB dekodiert und 16 Megapixel.

SVG, GIF, ICO und animiertes WebP werden abgelehnt statt ausgeführt oder auf den ersten Frame reduziert. Auto schützt Transparenz; JPEG braucht eine bestätigte Hintergrundfarbe. Canvas ist kein Malware-Scan.

Wann Base64 ungeeignet ist

Für kleine eingebettete Assets ist es praktisch. Große Bilder sollten meist Blob URLs, separate Dateien oder Binär-Uploads bleiben, damit Cache und Übertragung unabhängig funktionieren.

Bildbytes und Base64-Zeichen werden getrennt verglichen. Das Entfernen des data:-Präfixes zählt nicht als Kompression.

Häufige Fehler und Ursachen

  • Ungültige Base64-Zeichen, Padding oder Länge.
  • Der deklarierte MIME-Typ widerspricht den Magic Bytes.
  • Mehr als 20 MiB, 16 Megapixel oder fehlgeschlagene Browser-Dekodierung.
  • Animation, mehrere Frames, SVG oder ein bereits optimal komprimiertes Bild.

Entsprechende Befehle

Nutze eine vorhandene Laufzeit oder Shell. Prüfe fremde Eingaben und gib Binärdaten nicht direkt im Terminal aus.

Python

from PIL import Image
from io import BytesIO
import base64
image = Image.open(BytesIO(base64.b64decode(value)))
out = BytesIO(); image.save(out, 'WEBP', quality=82)
result = base64.b64encode(out.getvalue()).decode('ascii')

JavaScript

const blob = new Blob([bytes], { type: mime });
const bitmap = await createImageBitmap(blob);
ctx.drawImage(bitmap, 0, 0, width, height);
const output = await new Promise(r => canvas.toBlob(r, 'image/webp', 0.82));
bitmap.close();

Shell

printf '%s' "$VALUE" | base64 --decode > input.png
magick input.png -resize '1920x1920>' -quality 82 output.webp
base64 --wrap=0 output.webp

Standards und offizielle Referenzen

FAQ zur Base64-Bildkompression

Kann Base64 selbst komprimiert werden?

Ja, aber allgemeine Kompression erzeugt ein anderes Binärformat. Für Standard-Bild-Base64 müssen die Bildbytes optimiert und neu kodiert werden.

Funktioniert das Ergebnis direkt in img src?

Ja. Raw ist Standard-Base64 und die Data URL ist ein normales data:image/...;base64-Format.

Wie erreiche ich 100 KB?

Wähle Custom und 100 KB. Das Werkzeug sucht begrenzt über Qualität und Abmessungen; nicht jedes Bild kann das Ziel erreichen.

Sinkt die Qualität?

Möglicherweise. Skalierung und JPEG/WebP-Qualität sind verlustbehaftet. PNG-Neukodierung kann größer bleiben.

Warum rund 33% mehr?

Drei Bytes werden zu vier Zeichen. Exakt gilt 4 × ceil(n / 3).

Wird das Bild hochgeladen?

Nein. Analyse, Canvas, Vorschau, Kopieren und Download laufen lokal.

Gzip vor oder nach Base64?

Für Übertragung kann die äußere HTTP-Antwort komprimiert werden. Gzip ist ohne Entpacken keine verwendbare Bild-Data-URL.