Afbeeldingen Comprimeren

PNG comprimeren

Opslaan als

Er wordt niets geüpload; elk bestand wordt in deze browser verwerkt

PNG is verliesvrij · verklein of wissel van formaat om hem kleiner te maken

PNG bewaart elke pixel exact, dus er is geen kwaliteit om terug te draaien en geen detail om weg te gooien. Een PNG wordt maar op drie manieren kleiner: minder pixels, minder kleuren, of een formaat dat iets mag weggooien. Deze pagina doet de eerste en de derde.

Zo comprimeer je een PNG

1 Zet je PNG-bestanden hier neer.
2 Begrens de langste zijde. Bij een echte PNG is dat de hele besparing, en een schermafbeelding van een 2×-scherm heeft in elke richting twee keer de pixels die hij nodig heeft.
3 Voor foto’s die als PNG zijn opgeslagen: zet het formaat op WebP of JPEG. WebP houdt transparantie; JPEG niet.
4 Download ze los of allemaal tegelijk als ZIP.

In PNG wordt niets weggegooid, en wie weet hoe het comprimeert, snapt waarom sommige bestanden nauwelijks krimpen. Elke rij pixels gaat eerst door een van vijf filters (None, Sub, Up, Average, Paeth), die elke byte herschrijven als het verschil met de buur links of erboven, en de gefilterde rijen gaan daarna door hetzelfde DEFLATE-algoritme dat ZIP gebruikt. Daardoor hangt de bestandsgrootte af van hoe herhalend het beeld is, niet van hoe het eruitziet. Een schermafbeelding van egale interfacekleur comprimeert enorm, omdat hele rijen reeksen nullen worden. Een foto is op pixelniveau ruizig, dus vrijwel niets voorspelt iets en het bestand blijft dicht bij zijn ruwe grootte.

Wat een PNG-optimalisator doet en een browser niet kan

Tools als pngquant comprimeren niet harder; ze kwantiseren. Truecolor van 24 bits wordt een palet van 256 kleuren, en het beeld gaat van drie of vier bytes per pixel naar één, wat van een schermafbeelding doorgaans 60 tot 70 procent afhaalt zonder zichtbaar verschil. Het is een lossy stap op een verliesvrij formaat, en het is de reden dat een optimalisator op de opdrachtregel alles verslaat wat een webpagina kan. Een browser komt daar niet bij: een canvas levert RGBA van 8 bits en zijn PNG-encoder schrijft truecolor met een alfakanaal, zonder mogelijkheid om een palet te vragen of de filters te kiezen.

Dat heeft een gevolg om te kennen voordat je welke PNG-tool in de browser dan ook gebruikt. Een al geoptimaliseerde PNG-8 die opnieuw door een canvas wordt gecodeerd, komt terug als RGBA van 32 bits en is vaak groter dan hij erin ging. Is een bestand door pngquant gegaan of door een exportinstelling die hem kwantiseerde, laat het dan met rust: verkleinen blijft veilig, opnieuw coderen op dezelfde afmeting niet.

Als het antwoord is dat het geen PNG hoort te zijn

Een foto die als PNG is opgeslagen, is doorgaans vijf tot tien keer zo groot als hetzelfde beeld als goede JPEG, zonder dat je er iets voor terugkrijgt. Het alfakanaal is de andere stille kostenpost: een volledig dekkende afbeelding als PNG-32 heeft per pixel een vierde byte die overal 255 is, en DEFLATE comprimeert die reeks tot bijna niets, dus het kost minder dan het klinkt, maar het blijft een kanaal dat zonder reden wordt opgeslagen. Is het beeld fotografisch en zonder transparantie, dan is de omzetting de compressie.

Waar mensen het voor gebruiken

  • Een schermafbeelding van een 2×-scherm halveren voordat hij in een document gaat
  • Een foto omzetten die per ongeluk als PNG is geëxporteerd
  • Een transparant logo terugbrengen tot een grootte die een e-mailhandtekening accepteert
  • Een map geëxporteerde interface-afbeeldingen verkleinen voordat ze worden gecommit
  • Beslissen of een bestand überhaupt een PNG hoort te zijn

Vragen

Omdat PNG verliesvrij is: filteren plus DEFLATE, zonder iets weg te gooien. Kwaliteit telt pas als je de uitvoer op WebP of JPEG zet.

Was deze tool wat?
Alleen intern signaal · ik gebruik het om tools te vinden die beter moeten