# Portable network graphics

Portable network graphics, meestal afgekort als PNG (uit te spreken als ping, vaak als initiaalwoord uitgesproken) is een bestandsformaat voor rasterafbeeldingen met verliesloze compressie. PNG's not GIF wordt soms als recursief backroniem gebruikt voor PNG.

## Geschiedenis

Het PNG-formaat is in 1995 in het leven geroepen als alternatief voor het toen populaire GIF-formaat.
Een reden daarvoor was juridisch: het GIF-formaat maakt namelijk gebruik van de LZW-compressiemethode, die op dat moment nog geoctrooieerd was, en octrooihouder Unisys begon van softwaremakers te eisen dat er betaald zou worden voor licenties om LZW in programma's te mogen gebruiken. Veel opensourceprogramma's vervingen hun GIF-ondersteuning daarom door PNG. In 2006 zijn de laatste voor GIF relevante LZW-octrooien in alle landen verlopen.

## Technische voordelen

Daarnaast heeft PNG technische voordelen. Het gebruikt compressie, waardoor PNG-afbeeldingen weinig ruimte innemen in vergelijking met ongecomprimeerde formaten zoals BMP en TGA, maar dit zonder enig verlies van beeldkwaliteit, zoals wel gebeurt bij bijvoorbeeld JPEG.
GIF comprimeert in principe ook verliesloos, alleen ondersteunt het maximaal 256 kleuren (8 bits). Hierdoor kan er beeldinformatie verloren gaan bij het reduceren van het aantal kleuren, terwijl PNG 24 bits ondersteunt. Ook biedt GIF slechts zeer eenvoudige ondersteuning voor transparantie (één kleur kan als transparant worden gebruikt), terwijl PNG gedeeltelijke transparantie ondersteunt middels een alfakanaal. In een PNG-afbeelding kan dus voor elke pixel niet alleen een rood-, groen- en blauwwaarde worden opgegeven, maar ook een transparantie (alfawaarde). Het gevolg hiervan is dat elke pixel een bepaalde hoeveelheid transparantie kan hebben, bijvoorbeeld helemaal doorzichtig of gedeeltelijk doorzichtig met bijvoorbeeld wat donkerrood eroverheen.
Een PNG-afbeelding kan, net als een GIF-afbeelding, een "kleurenpalet" hebben. Dit houdt in dat er maximaal 256 kunnen worden gebruikt, wat de bestandsgrootte, door het kleinere aantal bits per kleur, extra verkleint. Hierdoor is PNG zeer geschikt voor zowel het verliesloos opslaan van afbeeldingen als voor het besparen van geheugenruimte voor eenvoudige afbeeldingen. Voor grotere afbeeldingen waarin niet alle details volledig aanwezig hoeven zijn (zoals bij foto's) blijft JPEG een goed alternatief, omdat het een hogere compressie kan halen en dus kleinere bestandsgrootte.

## Nadelen

Doordat de destijds veel gebruikte webbrowser Internet Explorer tot en met versie 6.0 het PNG-formaat qua transparantie niet volledig ondersteunde, konden gebruikers van deze browser PNG-afbeeldingen op websites niet goed zien. Daardoor is het PNG-formaat lange tijd niet zo populair als GIF geweest, maar inmiddels wordt op meer websites het PNG-formaat gebruikt dan het GIF-formaat. Internet Explorer 7 en hogere versies beschikken wel over (gedeeltelijk) correcte PNG-ondersteuning. Bijna elk modern beeldverwerkingsprogramma ondersteunt het PNG-formaat zonder problemen.
Een nadeel ten opzichte van JPG is de bestandsgrootte, die gemiddeld soms twee tot vier keer groter is dan JPG. Dit komt doordat PNG de afbeeldingsgegevens zonder verlies opslaat, terwijl JPG compressie met verlies toepast. Het gevolg van de grotere bestandsgrootte is dat het downloaden van PNG-afbeeldingen gemiddeld langzamer gaat. Voor het afbeelden van fotomateriaal wordt dan ook vaker JPG gebruikt omdat het verschil in kwaliteit vaak niet merkbaar is met het blote oog.

## Verwante formaten

Wat vroeger niet kon met PNG (en wel met GIF) was het ondersteunen van geanimeerde beelden. Tegenwoordig bestaat er APNG of Animated PNG, een PNG-afbeelding die animaties ondersteunt. Reclamemakers ontdekten de animatiemogelijkheden van GIF op het internet rond de tijd dat PNG geïntroduceerd werd, wat de opkomst van PNG, maar vooral het verdwijnen van GIF, vertraagde. Tegenwoordig wordt voor bewegende advertenties vaak animated GIF gebruikt.
Een ander verwant formaat is JNG, dat JPEG-compressie in een PNG-achtig formaat biedt. Het is vooral ontworpen om te combineren met Multiple-image Network Graphics (MNG).