PNG-Dateigröße reduzieren: 5 Wege
- Abmessungen verkleinern. Die Dateigröße folgt der Pixelzahl: Halbieren Sie Breite und Höhe, bleibt etwa ein Viertel der Daten übrig.
- Farben auf eine 8-Bit-Palette reduzieren. Tools wie pngquant sparen bei Grafiken oft 60 bis 80 % mit kaum sichtbarer Veränderung.
- Metadaten entfernen. Text-Chunks, ICC-Profile und Editordaten können sich auf Hunderte Kilobyte summieren.
- Maximale Komprimierung nutzen. Stufe 9 mit adaptiver Filterung spart noch ein paar Prozent, ohne Qualitätsverlust.
- Fotos in JPG umwandeln. Ist das PNG ein Foto und brauchen Sie keine Transparenz, ist ein JPG meist 5- bis 10-mal kleiner.
PNG-Komprimierung ist grundsätzlich verlustfrei
Das ist das Wichtigste, was Sie über PNG wissen sollten: Die Komprimierungsstufe beeinflusst die Qualität nicht. Ein PNG, das mit Stufe 1 gespeichert wurde, und eines mit Stufe 9 ergeben beim Öffnen exakt dasselbe Bild. Jedes einzelne Pixel ist Bit für Bit identisch.
PNG komprimiert die Pixeldaten mit dem DEFLATE-Algorithmus (demselben, der hinter gzip und ZIP-Dateien steckt). Wenn Sie die Komprimierungs"stufe" ändern, steuern Sie, wie gründlich der Encoder nach Wiederholungsmustern und optimalen Kodierungsstrategien sucht. Höhere Stufen bedeuten:
- Kleinere Dateien — der Encoder findet effizientere Wege, dieselben Daten darzustellen
- Langsamere Kodierung — es ist mehr Rechenaufwand nötig, um diese Effizienz zu finden
- Identische Dekomprimierung — unabhängig von der Stufe sind die dekodierten Pixel gleich
Das unterscheidet sich grundlegend von JPEG, wo die Qualitätseinstellung direkt bestimmt, wie viele Bilddaten dauerhaft verworfen werden. Bei PNG wird nie etwas verworfen. Die "Qualitätsfrage" lautet hier nur: Wie viel Rechenzeit wollen Sie investieren, um noch ein paar Bytes herauszuholen?
Kernkonzept: PNG-Komprimierungsstufe = Kodierungsaufwand, nicht Qualität. Stufe 9 bedeutet nicht "geringere Qualität" — sondern "gründlicher nach einer kleineren Darstellung derselben Daten suchen".
PNG-8 vs. PNG-24 vs. PNG-32
Der wirksamste Weg, die PNG-Dateigröße zu reduzieren, ist die Wahl des passenden PNG-Untertyps für Ihr Bild. Der Unterschied zwischen diesen Typen kann eine 3- bis 5-fache Verkleinerung bedeuten, ganz ohne oder mit kaum sichtbarer Veränderung.
| Typ | Farbtiefe | Farben | Transparenz | Typische Größe |
|---|---|---|---|---|
| PNG-8 | 8 Bit (indizierte Palette) | Bis zu 256 | 1 Bit (an/aus) oder 8-Bit-Alpha | Am kleinsten |
| PNG-24 | 24 Bit (RGB) | 16,7 Millionen | Keine | Mittel |
| PNG-32 | 32 Bit (RGBA) | 16,7 Millionen | Volles 8-Bit-Alpha | Am größten |
PNG-8: Die Geheimwaffe für kleine Dateien
PNG-8 speichert jedes Pixel als Index in einer Palette mit bis zu 256 Farben. Statt 3 Bytes pro Pixel (RGB) oder 4 Bytes (RGBA) wird nur 1 Byte benötigt. Dieser grundlegende Unterschied macht PNG-8-Dateien 3- bis 5-mal kleiner als vergleichbare PNG-24-Dateien.
PNG-8 eignet sich ideal für:
- Logos — die meisten Logos verwenden weniger als 20 Farben
- Icons und UI-Elemente — Icons im Flat Design haben meist 5 bis 15 Farben
- Einfache Illustrationen — Diagramme, Charts und Infografiken mit flächigen Farben
- Screenshots textlastiger Oberflächen — Terminalausgaben, Code-Editoren, Textdokumente
PNG-8 eignet sich nicht für:
- Fotos — Fotos enthalten Tausende Farben; eine Reduzierung auf 256 erzeugt sichtbare Streifenbildung (Banding)
- Weiche Farbverläufe — 256 Farben können einen weichen Verlauf nicht ohne sichtbare Stufen darstellen
- Bilder mit Halbtransparenz — PNG-8 kann für jede Palettenfarbe einen Alphawert speichern, aber weiche Kanten und Schatten brauchen oft mehr Farb- und Alpha-Kombinationen, als 256 Einträge zulassen
PNG-24 vs. PNG-32: Brauchen Sie den Alphakanal?
Der Unterschied zwischen PNG-24 und PNG-32 ist der Alphakanal (Transparenz). Jedes Pixel in PNG-32 trägt ein zusätzliches Byte für die Transparenz, wodurch die Dateien 25 bis 33 % größer sind als bei PNG-24. Wenn Ihr Bild keine Transparenz braucht (keine transparenten oder halbtransparenten Bereiche), speichern Sie es als PNG-24, um den Overhead eines ungenutzten Alphakanals zu vermeiden.
Schneller Gewinn: Wenn Sie ein PNG-24-Bild mit nur 50 verschiedenen Farben haben (typisch für UI-Mockups und Diagramme), kann die Umwandlung in PNG-8 die Dateigröße um 70 bis 80 % verringern, ohne sichtbare Veränderung. Tools wie pngquant erkennen das automatisch.
Metadaten entfernen
PNG-Dateien können Metadaten in Text-Chunks enthalten: tEXt, iTXt, zTXt und weiteren Zusatz-Chunks. Dazu gehören:
- Software-Tags — mit welchem Programm die Datei erstellt wurde (Photoshop, GIMP usw.)
- Erstellungszeitpunkt — wann das Bild erstellt oder zuletzt geändert wurde
- Autor und Copyright — eingebettete Textfelder
- ICC-Farbprofil — kann bei Wide-Gamut-Profilen zwischen 500 Bytes und über 800 KB groß sein
- Private Photoshop-Daten — Adobe-Software bettet Ebenendaten, Smartobjekt-Verweise und Bearbeitungsverläufe ein, die beträchtlich sein können
Für die Auslieferung im Web sind all diese Metadaten unnötiger Ballast. Das Entfernen ergibt eine kleinere Datei ohne jede sichtbare Veränderung:
# Alle Metadaten mit ImageMagick entfernen
magick input.png -strip output.png
# Mit pngcrush entfernen (behält nur kritische Chunks)
pngcrush -rem allb input.png output.png
# Mit optipng entfernen (optimiert auch die Komprimierung)
optipng -strip all input.png -out output.png
Die Ersparnis durch das Entfernen von Metadaten liegt bei einfachen Bildern meist bei 1 bis 5 KB, kann aber bei Photoshop-Exporten mit eingebetteten ICC-Profilen und privaten Daten-Chunks 50 bis 800 KB betragen.
Einstellungen der Komprimierungsstufe
Die PNG-Komprimierungsstufe bestimmt, wie intensiv der DEFLATE-Algorithmus nach Mustern sucht. So wirken sich die einzelnen Stufen in der Praxis aus:
| Stufe | Kodiergeschwindigkeit | Dateigröße | Einsatzzweck |
|---|---|---|---|
| 0 | Sofort | Am größten (keine Komprimierung) | Debugging, Zwischenverarbeitung |
| 1–3 | Sehr schnell | Groß | Echtzeitverarbeitung, temporäre Dateien |
| 4–6 | Mittel | Mittel | Allgemein (die meisten Tools nutzen standardmäßig 6) |
| 7–8 | Langsam | Klein | Web-Auslieferung, Archivierung |
| 9 | Am langsamsten | Am kleinsten | Endgültige Auslieferung, Web-Assets |
Der Unterschied zwischen Stufe 6 (Standard) und Stufe 9 (Maximum) beträgt bei der Dateigröße meist 2 bis 5 %. Der Unterschied bei der Kodierzeit ist deutlicher — Stufe 9 kann bei großen Bildern 5- bis 10-mal länger dauern als Stufe 6. Bei Web-Assets, die einmal kodiert und millionenfach ausgeliefert werden, lohnt sich die zusätzliche Kodierzeit für Stufe 9 immer.
Der PNG-Qualitätsparameter von ImageMagick
ImageMagick kodiert für PNG sowohl die Komprimierungsstufe als auch den Filtertyp in einem einzigen Parameter -quality. Die Zehnerstelle ist die zlib-Komprimierungsstufe (0–9), die Einerstelle der Filtertyp (0–5):
# Maximale Komprimierung, adaptive Filterung
magick input.png -strip -quality 95 PNG:output.png
# Aufschlüsselung: 9 = Komprimierungsstufe 9, 5 = adaptiver Filter
# Der adaptive Filter testet alle 5 Filtertypen pro Zeile für optimale Ergebnisse
# Schnelle Komprimierung, keine Filterung
magick input.png -strip -quality 10 PNG:output.png
# Aufschlüsselung: 1 = Komprimierungsstufe 1, 0 = kein Filter
Bester Standardwert: Verwenden Sie -quality 95 für die PNG-Ausgabe von ImageMagick. Die 9 steht für maximalen Komprimierungsaufwand, die 5 für adaptive Filterung (probiert alle Filtertypen pro Zeile aus). Das ergibt die kleinste Datei, kostet aber mehr Kodierzeit.
PNG-Filtertypen erklärt
Vor der DEFLATE-Komprimierung wendet PNG pro Zeile einen Vorhersagefilter an, der die Pixeldaten so umwandelt, dass sie sich besser komprimieren lassen. Der Filter verändert das Bild nicht — er ist vollständig umkehrbar. Ziel ist es, die Daten gleichförmiger zu machen, damit DEFLATE sie besser komprimieren kann.
| Filter | ID | Vorhersagemethode | Am besten für |
|---|---|---|---|
| None | 0 | Keine Vorhersage (Rohbytes) | Palettenbilder (PNG-8), zufälliges Rauschen |
| Sub | 1 | Pixel minus linker Nachbar | Horizontale Verläufe, horizontale Muster |
| Up | 2 | Pixel minus Pixel darüber | Vertikale Verläufe, vertikale Muster |
| Average | 3 | Pixel minus Mittelwert aus links + oben | Gleichmäßige Flächen, ineinanderlaufende Inhalte |
| Paeth | 4 | Pixel minus Paeth-Prädiktor (nächster Wert aus links, oben, oben links) | Komplexe natürliche Bilder |
| Adaptiv | 5 | Testet alle Filter pro Zeile und wählt den besten | Alle Bilder (bester Standard) |
Der adaptive Filter (manchmal "mixed" oder "all" genannt) testet für jede Pixelzeile alle fünf Filtertypen und wählt den, der die am besten komprimierbare Ausgabe liefert. Dieser Brute-Force-Ansatz erzeugt fast immer die kleinste Datei, braucht aber länger zum Kodieren. Für die endgültige Web-Auslieferung ist adaptive Filterung immer die richtige Wahl.
Wie viel machen Filter aus?
Ein falsch gewählter Filter kann die Dateigröße um 10 bis 30 % aufblähen. Wird zum Beispiel der Filter "None" auf ein Foto angewendet (bei dem benachbarte Pixel ähnlich sind), wird viel Komprimierungspotenzial verschenkt. Umgekehrt kann "Sub" oder "Paeth" bei einem Palettenbild mit zufälligen Indexwerten die Datei sogar größer machen als ganz ohne Filter.
Deshalb ist adaptive Filterung der sichere Standard — sie wählt für jede Zeile immer den passenden Filter, auch wenn das Bild gemischte Inhalte enthält (etwa ein Screenshot mit Text und Fotos).
Optimierung der Farbpalette
Die drastischste Verkleinerung eines PNG erreichen Sie, wenn Sie ein 24-Bit-PNG (16,7 Millionen Farben) in eine optimierte 8-Bit-Palette (256 Farben) umwandeln. Tools wie pngquant und pngnq wählen mit ausgefeilten Algorithmen die besten 256 Farben aus und simulieren fehlende Farben durch Dithering.
So funktioniert pngquant
pngquant analysiert das Bild, um die 256 Farben zu finden, die das Original am besten wiedergeben. Für Pixel, die zwischen Palettenfarben liegen, wendet es Floyd-Steinberg-Dithering an — ein Verfahren, das den Farbfehler auf benachbarte Pixel verteilt und durch räumliche Mischung den Eindruck von mehr Farben erzeugt.
# Einfache Palettenoptimierung (256 Farben, Qualität 65-80)
pngquant 256 --quality=65-80 input.png -o output.png
# Palettenoptimierung mit maximaler Qualität
pngquant 256 --quality=80-100 --speed 1 input.png -o output.png
# In eine bestimmte Anzahl von Farben umwandeln
pngquant 64 input.png -o output.png # 64 Farben
pngquant 16 input.png -o output.png # 16 Farben (sehr klein)
Typische Ergebnisse der Palettenoptimierung
| Bildtyp | Größe PNG-24 | PNG-8 (256 Farben) | Ersparnis | Sichtbare Auswirkung |
|---|---|---|---|---|
| Logo (12 Farben) | 45 KB | 8 KB | 82 % | Keine (verlustfrei) |
| UI-Screenshot | 380 KB | 95 KB | 75 % | Minimales Dithering |
| Illustration (flächige Farben) | 210 KB | 52 KB | 75 % | Keine bis minimal |
| Infografik mit Verläufen | 620 KB | 180 KB | 71 % | Dithering in Verläufen |
| Foto | 8,5 MB | 2,1 MB | 75 % | Starkes Dithering (besser JPG verwenden) |
Wichtig: Palettenoptimierung ist technisch verlustbehaftet — sie verringert die Zahl der verfügbaren Farben. Bei Bildern, die ohnehin weniger als 256 verschiedene Farben nutzen, ist die Umwandlung jedoch vollkommen verlustfrei. Bei Bildern mit etwas mehr Farben liefert Dithering Ergebnisse, die bei normalem Betrachtungsabstand nicht vom Original zu unterscheiden sind.
PNG-Optimierungstools im Vergleich
Mehrere spezialisierte Tools gehen bei der PNG-Komprimierung über das hinaus, was ImageMagick bietet. Jedes verfolgt einen anderen Ansatz:
| Tool | Typ | Ansatz | Typische Ersparnis |
|---|---|---|---|
| optipng | Verlustfrei | Probiert mehrere Filter-/Komprimierungskombinationen aus | 5–15 % |
| pngcrush | Verlustfrei | Testet per Brute Force alle Filter-/Stufenkombinationen | 5–15 % |
| zopflipng | Verlustfrei | Googles Zopfli-Encoder (langsamer, kleinere DEFLATE-Ausgabe) | 8–20 % |
| pngquant | Verlustbehaftet (Palette) | Reduziert auf eine 256-Farben-Palette mit Dithering | 60–80 % |
| oxipng | Verlustfrei | Multithreading-Alternative zu optipng (Rust) | 5–15 % |
Die besten Ergebnisse erzielen Sie, wenn Sie ein verlustbehaftetes und ein verlustfreies Tool kombinieren: Führen Sie zuerst pngquant aus (sofern eine Palettenreduzierung akzeptabel ist) und anschließend zopflipng oder optipng auf das Ergebnis, um die maximale verlustfreie Komprimierung zu erreichen:
# Pipeline für maximale Komprimierung
pngquant 256 --quality=80-100 input.png -o temp.png
zopflipng temp.png output.png
rm temp.png
Wann die PNG-Komprimierung an ihre Grenzen stößt
Keine noch so gute PNG-Optimierung kann eine grundlegende Tatsache überwinden: Verlustfreie Komprimierung kann bei Fotos nicht mit verlustbehafteter Komprimierung mithalten. Das ist kein Mangel von PNG — es ist mathematisch zwingend. Verlustfreie Algorithmen müssen jedes Pixel erhalten, während JPEG Informationen verwirft, die das Auge nicht wahrnimmt.
| Bildtyp | Optimiertes PNG | JPEG Q85 | PNG ist größer um |
|---|---|---|---|
| Smartphone-Foto mit 12 MP | 14,2 MB | 1,8 MB | 7,9x |
| DSLR-Foto mit 24 MP | 28,5 MB | 4,7 MB | 6,1x |
| 1080p-Screenshot | 850 KB | 240 KB | 3,5x |
| Einfaches Logo (12 Farben) | 8 KB | 22 KB | JPEG ist 2,8x größer |
| UI-Icon (flächige Farben) | 3 KB | 9 KB | JPEG ist 3x größer |
Das Muster ist eindeutig:
- Fotos und komplexe natürliche Bilder — in JPEG umwandeln. Sie sparen das 3- bis 8-Fache ohne wahrnehmbaren Qualitätsverlust bei Q85.
- Einfache Grafiken, Logos, Icons, textlastige Screenshots — bei PNG bleiben. Die Datei ist kleiner als ein JPEG und erhält scharfe Kanten perfekt.
- Bilder mit Transparenz — bei PNG bleiben (JPEG unterstützt keine Transparenz). Erwägen Sie WebP als Alternative, das sowohl verlustbehaftete Komprimierung als auch Transparenz unterstützt.
Die ehrliche Antwort: Wenn Ihr PNG ein Foto ist und es Ihnen um die Dateigröße geht, ist die beste "PNG-Komprimierung" die Umwandlung in JPEG. Nutzen Sie den Konverter oben, um von PNG zu JPG zu wechseln — Sie erreichen typischerweise eine Verkleinerung um 70 bis 90 % bei nicht wahrnehmbarem Qualitätsverlust.
Schritt-für-Schritt-Anleitung zur PNG-Komprimierung
Hier ist ein praktischer Entscheidungsbaum, um die PNG-Dateigröße zu verringern:
Schritt 1: Ist Ihr Bild ein Foto?
Wenn ja, wandeln Sie es in JPEG um. Laden Sie Ihr PNG im Konverter oben hoch; er erzeugt ein JPG mit Qualität 92 und füllt eventuelle Transparenz mit Weiß. Das ist die mit Abstand wirksamste Maßnahme für Foto-PNGs. Ein PNG-Foto mit 15 MB wird bei Q85 zu einem JPEG mit 1 bis 2 MB, ohne sichtbaren Unterschied.
Wenn nein (es ist eine Grafik, ein Logo, ein Icon oder ein Screenshot), weiter mit Schritt 2.
Schritt 2: Wie viele Farben verwendet Ihr Bild?
Prüfen Sie es mit ImageMagick:
magick identify -verbose input.png | grep "Colors:"
Bei 256 oder weniger Farben: in PNG-8 umwandeln und 70 bis 80 % sparen, ohne jeden Qualitätsverlust:
magick input.png -strip -colors 256 -type Palette PNG8:output.png
Bei mehr als 256 Farben: entscheiden Sie, ob eine Palettenreduzierung mit Dithering akzeptabel ist, oder bleiben Sie bei PNG-24.
Schritt 3: Metadaten entfernen und Komprimierung maximieren
# Maximale verlustfreie Komprimierung mit Entfernen der Metadaten
magick input.png -strip -quality 95 PNG:output.png
Schritt 4: Spezialtools für weitere Einsparungen nutzen
# Verlustfreie Optimierung (garantiert keine Qualitätsänderung)
optipng -o7 -strip all input.png -out output.png
# ODER verlustbehaftete Palettenreduzierung (drastische Einsparung)
pngquant 256 --quality=80-100 input.png -o output.png
PNG-Stapelkomprimierung
Wenn Sie einen ganzen Ordner mit PNG-Dateien komprimieren müssen, sind Kommandozeilen-Tools der schnellste Weg.
Verlustfreie Stapelkomprimierung
# Linux / macOS: maximale Komprimierung + Metadaten entfernen
mkdir -p compressed
for f in *.png *.PNG; do
[ -f "$f" ] || continue
magick "$f" -strip -quality 95 "compressed/$f"
done
Stapel-Palettenoptimierung (pngquant)
# Alle PNGs auf eine 256-Farben-Palette reduzieren
mkdir -p optimized
for f in *.png *.PNG; do
[ -f "$f" ] || continue
pngquant 256 --quality=80-100 "$f" -o "optimized/$f"
done
Windows PowerShell
New-Item -ItemType Directory -Force -Path ".\compressed"
Get-ChildItem *.png | ForEach-Object {
magick $_.FullName -strip -quality 95 (".\compressed\" + $_.Name)
}
PNG stapelweise in JPG umwandeln (maximale Ersparnis bei Fotos)
# Alle PNG-Fotos in JPEG mit Q85 umwandeln
mkdir -p jpg_output
for f in *.png *.PNG; do
[ -f "$f" ] || continue
magick "$f" -quality 85 -interlace Plane -strip "jpg_output/${f%.*}.jpg"
done
Ein PNG unter eine Größengrenze bringen (zum Beispiel 5 MB)
Die Größe eines PNG hängt vor allem von der Pixelzahl und dem Bildinhalt ab. Als Ausgangspunkt: Ein unkomprimiertes 8-Bit-RGB-Bild belegt Breite × Höhe × 3 Bytes:
| Abmessungen | Pixel | Unkomprimiert (RGB) |
|---|---|---|
| 4000 × 3000 | 12 MP | 36 MB |
| 3000 × 2250 | 6,75 MP | 20,3 MB |
| 2000 × 1500 | 3 MP | 9 MB |
| 1600 × 1200 | 1,92 MP | 5,8 MB |
Die PNG-Komprimierung verkleinert das anschließend: bei Fotos ein wenig, bei flächigen Grafiken stark. Liegt ein Foto-PNG bei einer für Sie akzeptablen Größe immer noch über dem Limit, wandeln Sie es in JPG um oder reduzieren Sie es auf eine Palette mit 256 Farben.