# optipng — PNG-Dateien verlustfrei optimieren

> Praxis-Guide zu optipng: PNG-Dateien verlustfrei verkleinern – Optimierungsstufen, Metadaten strippen und Batch-Läufe sicher ausführen.

Source: https://www.jpkc.com/db/cheatsheets/images-media/optipng/

<!-- PROSE:intro -->
optipng verkleinert PNG-Dateien **verlustfrei** – also ganz ohne Qualitätsverlust: Das Werkzeug probiert verschiedene Filter- und Kompressionsparameter durch und behält nur das kleinste Ergebnis. Standardmäßig arbeitet es **in-place** und überschreibt das Original, deshalb gehört vor jedem Batch-Lauf ein Backup (oder `-keep`, `-out`, `-dir`). Wer aggressiver verkleinern will, greift zu pngquant (verlustbehaftet) oder zopflipng (stärker, aber langsamer). Dieser Guide zeigt dir die Befehle, die du im Alltag wirklich brauchst.
<!-- PROSE:intro:end -->

## Grundlegende Optimierung

`optipng <image.png>` — Optimiert eine PNG-Datei in-place (Standardstufe: -o2).

```bash
optipng screenshot.png
```

`optipng -o<n> <image.png>` — Setzt die Optimierungsstufe (0–7, höher = langsamer, aber kleiner).

```bash
optipng -o7 screenshot.png
```

`optipng -o2 *.png` — Optimiert alle PNGs im aktuellen Verzeichnis im Stapel.

```bash
optipng -o2 images/*.png
```

`optipng -out <output.png> <input.png>` — Schreibt in eine andere Datei (Original bleibt unverändert).

```bash
optipng -out optimized.png original.png
```

`optipng -dir <directory> <image.png>` — Schreibt optimierte Dateien in ein separates Verzeichnis.

```bash
optipng -dir optimized/ *.png
```

## Optimierungsstufen

`optipng -o0 <image.png>` — Stufe 0: keine Kompressionsversuche, nur Durchlauf (am schnellsten).

```bash
optipng -o0 screenshot.png
```

`optipng -o1 <image.png>` — Stufe 1: ein einzelner Kompressionsversuch (schnell).

```bash
optipng -o1 screenshot.png
```

`optipng -o2 <image.png>` — Stufe 2: 8 Kompressionsversuche (Standard, gute Balance).

```bash
optipng -o2 screenshot.png
```

`optipng -o3 <image.png>` — Stufe 3: 16 Versuche (langsamer, bessere Kompression).

```bash
optipng -o3 screenshot.png
```

`optipng -o5 <image.png>` — Stufe 5: 48 Versuche (langsam, für die meisten Bilder nahezu optimal).

```bash
optipng -o5 screenshot.png
```

`optipng -o7 <image.png>` — Stufe 7: 240 Versuche (sehr langsam, maximale Kompression).

```bash
optipng -o7 icon.png
```

## Metadaten & Sicherung

`optipng -strip all <image.png>` — Entfernt alle Metadaten-Chunks (Text, Zeitstempel, ICC-Profile usw.).

```bash
optipng -strip all screenshot.png
```

`optipng -keep <image.png>` — Legt vor dem Überschreiben ein Backup (.bak) des Originals an.

```bash
optipng -keep screenshot.png
```

`optipng -preserve <image.png>` — Behält Dateiattribute (Zeitstempel, Rechte) nach der Optimierung bei.

```bash
optipng -preserve screenshot.png
```

`optipng -clobber -out <output.png> <image.png>` — Überschreibt eine bereits vorhandene Ausgabedatei.

```bash
optipng -clobber -out optimized.png screenshot.png
```

## Formatkonvertierung

`optipng <image.bmp>` — Konvertiert BMP in ein optimiertes PNG (schreibt eine .png-Datei, BMP bleibt erhalten).

```bash
optipng screenshot.bmp
```

`optipng <image.gif>` — Konvertiert ein (statisches) GIF in ein optimiertes PNG.

```bash
optipng icon.gif
```

`optipng <image.tiff>` — Konvertiert TIFF in ein optimiertes PNG.

```bash
optipng scan.tiff
```

`optipng -out <output.png> <image.pnm>` — Konvertiert PNM (PBM/PGM/PPM) in ein optimiertes PNG.

```bash
optipng -out result.png image.ppm
```

## Erweiterte Optionen

`optipng -simulate <image.png>` — Simuliert die Optimierung (zeigt die Einsparung, ohne die Datei zu ändern).

```bash
optipng -simulate screenshot.png
```

`optipng -v <image.png>` — Ausführliche Ausgabe (zeigt Kompressionsversuche und Ergebnisse).

```bash
optipng -v screenshot.png
```

`optipng -i 1 <image.png>` — Aktiviert Adam7-Interlacing (progressives Laden).

```bash
optipng -i 1 photo.png
```

`optipng -i 0 <image.png>` — Erzwingt eine nicht-interlaced Ausgabe.

```bash
optipng -i 0 screenshot.png
```

`optipng -nb <image.png>` — Überspringt Versuche zur Reduktion der Bittiefe.

```bash
optipng -nb screenshot.png
```

`optipng -nc <image.png>` — Überspringt Versuche zur Reduktion des Farbtyps.

```bash
optipng -nc photo.png
```

`optipng -np <image.png>` — Überspringt Versuche zur Palettenreduktion.

```bash
optipng -np icon.png
```

`optipng -nx <image.png>` — Überspringt alle Reduktionen (nur Neukompression mit optimalen ZLIB-Parametern).

```bash
optipng -nx screenshot.png
```

## Typische Anwendungsfälle

`optipng -o2 -strip all *.png` — Optimiert alle PNGs und entfernt Metadaten (ideal fürs Web-Deployment).

```bash
optipng -o2 -strip all assets/*.png
```

`find . -name '*.png' -exec optipng -o2 -strip all {} \;` — Optimiert alle PNGs in Unterverzeichnissen rekursiv.

```bash
find public/ -name '*.png' -exec optipng -o2 -strip all {} \;
```

`optipng -o7 -strip all -preserve icon.png` — Maximale Optimierung für ein einzelnes wichtiges Asset.

```bash
optipng -o7 -strip all -preserve favicon.png
```

`find . -name '*.png' -exec optipng -simulate {} \; 2>&1 | grep 'decrease'` — Zeigt vorab, welche PNGs sich weiter optimieren lassen.

```bash
find . -name '*.png' -exec optipng -simulate {} \; 2>&1 | grep 'decrease'
```

`optipng -o2 -strip all -dir dist/ src/*.png` — Optimiert Quell-PNGs in ein Distributionsverzeichnis.

```bash
optipng -o2 -strip all -dir dist/images/ src/images/*.png
```

<!-- PROSE:outro -->
## Fazit

optipng ist das Standardwerkzeug, wenn PNGs ohne jeden Qualitätsverlust kleiner werden sollen: `-o2` reicht für den Alltag, `-o7` holt für einzelne wichtige Assets das Letzte heraus. Denk an den entscheidenden Punkt: optipng schreibt **in-place** und überschreibt das Original – sichere deine Dateien vor Batch-Läufen oder nutze `-keep` (legt ein `.bak` an), `-out` oder `-dir`. Brauchst du noch kleinere Dateien und kannst minimale Farbverluste akzeptieren, übernimmt pngquant die verlustbehaftete Quantisierung; zopflipng komprimiert verlustfrei noch etwas stärker, aber deutlich langsamer.

## Weiterführende Links

- [optipng — Offizielle Projektseite](https://optipng.sourceforge.net/) – Dokumentation, Manual und Downloads des Originalprojekts
- [Wikipedia: OptiPNG](https://de.wikipedia.org/wiki/OptiPNG) – Hintergrund zum verlustfreien PNG-Optimierer
<!-- PROSE:outro:end -->

## Verwandte Kommandos

- [pngquant](https://www.jpkc.com/db/cheatsheets/images-media/pngquant/) – verlustbehaftete PNG-Quantisierung für noch kleinere Dateien
- [jpegtran](https://www.jpkc.com/db/cheatsheets/images-media/jpegtran/) – verlustfreie Optimierung und Transformation von JPEG-Dateien
- [convert](https://www.jpkc.com/db/cheatsheets/images-media/convert/) – Bilder konvertieren und bearbeiten mit ImageMagick

