Behandlet PNG (.png)

W3C Standard

Portable Network Graphics (PNG) er et fritt rastergrafikkformat som støtter tapsfri datakomprimering, indekserte farger og variabel alfakanalgjennomsiktighet.

Konverter PNG til JPG

Gratis PNG til JPG-konverterer i nettleseren. Konverter filer umiddelbart på enheten din.

Komprimer PNG på nett

Privat - filer forlater aldri enheten din

Inspeksjon og metadata

Operativsystemer og filanalysatorer identifiserer PNG-filer ved å undersøke den innledende binære bytesekvensen:

Velg eller slipp filer her

Privat - filer forlater aldri enheten din

eller lim inn Ctrl+V
Personverngaranti uten nettverksoverføring: 0 byte ble lastet opp til eksterne servere. All behandling foregikk lokalt i det isolerte nettlesermiljøet ditt.

Filsignatur på bytenivå (magiske byte)

Operativsystemer og filanalysatorer identifiserer PNG-filer ved å undersøke den innledende binære bytesekvensen:

HEX-SIGNATUR (OFFSET 0):

89 50 4E 47 0D 0A 1A 0A

ASCII-REPRESENTASJON: .PNG....

Standardisering: W3C Recommendation (1996) / ISO/IEC 15948:2004

Tekniske spesifikasjoner

BeholderarkitekturBlokkbasert binærbeholder med 4-byte CRC32-verifisering per blokk
KomprimeringDeflate (LZ77 + Huffman-koding) med 5 prediktive skannelinjefiltre (None, Sub, Up, Average, Paeth)
BytterekkefølgeBig-endian (nettverksbyte-rekkefølge) for blokklengder, dimensjoner og CRC-er
FargeromsRGB, Display P3, Indeksert palett (1-8 bit), Gråtoner, Truecolor (24/48-bit)
Kanaler og strukturRGB + Alpha (Opptil 16 biter per kanal / 64-bit RGBA)
Maks. dimensjoner2 147 483 647 x 2 147 483 647 piksler (4-byte usignerte heltall)
GjennomsiktighetFull 8-bit / 16-bit variabel alfakanal for gjennomsiktighet
Strømming og progressiv visningAdam7, en algoritme med 7 passeringer for sammenfletting, muliggjør progressiv gjengivelse av 2D-skannelinjer

Teknisk sammenligningsmatrise: PNG sammenlignet med konkurrenter

Teknisk attributtPNG (Gjeldende)WebPAVIFJPEG
KomprimeringstypeStrengt tapsfri (Deflate + 2D-prediktive filtre)Tapsbasert (VP8) og tapsfri (VP8L)Tapsbasert (AV1 intra) og tapsfriStrengt tapsbasert (diskret cosinustransformasjon)
AlfagjennomsiktighetFull 8-bit / 16-bit variabel alfakanal8-bit alfakanal støttes8-bit / 10-bit / 12-bit alfa støttesIngen støtte for gjennomsiktighetskanal
Filstørrelse (Fotografier)Ofte større enn tapsbaserte formater for fotografier; den relative størrelsen varierer med bildet og koderen.Kan være mindre enn JPEG; resultatet varierer med bildet og koderen.Kan være mindre enn JPEG; resultatet varierer med bildet og koderen.Middels referansenivå
Filstørrelse (Grafikk/UI)Ekstremt kompakt for skjermbilder, strektegninger og tekstUtmerket tapsfri modusGod, men tregere å kodeDårlig (gir ringformede artefakter langs skarpe kanter)
NettleserkompatibilitetStøttes av de største nettleserne; tilgjengeligheten avhenger av nettleser og versjon.God støtte i mange nåværende nettlesere; dekningen varierer med versjon og plattform.Støttes av mange nåværende nettlesere; dekningen varierer med versjon og plattform.God støtte; tilgjengeligheten varierer mellom produkter og versjoner.

Vanlige korrupsjonsmoduser og heksadesimal gjenopprettingsveiledning

Bildeviseren viser 'Fatal error: Not a valid PNG file' eller klarer ikke å åpne filen.

Underliggende årsak: De første 8 bytene ble endret av en ASCII-overføringsmodus (der 0x0D 0x0A ble endret til 0x0A eller 0x0D 0x0D 0x0A).

Utbedring: Åpne filen i en heksadesimalredigerer og kontroller at de første 8 bytene samsvarer med '89 50 4E 47 0D 0A 1A 0A'. Hvis du gjenoppretter disse nøyaktige 8 bytene i filhodet, kan bildet ofte gjenopprettes.

pngcheck rapporterer 'CRC error in chunk IDAT' eller bildet lastes delvis inn med korrupte bunnskannlinjer.

Underliggende årsak: Bitkorrupsjon i den komprimerte zlib-datastrømmen eller ugyldig CRC32-sjekksum i en IDAT-blokk.

Utbedring: Bruk pngcheck -f eller verktøy for gjenoppretting av Deflate-strømmer for å beregne gyldige CRC32-verdier på nytt, eller dekomprimer gjenværende skannlinjer opp til den korrupte blokken.

Bildet gjengis fint i skrivebordsvisere, men mislykkes i iOS-applikasjoner.

Underliggende årsak: iOS forventer Apples proprietære CgBI-bytebyttede format, eller ikke-standard fargeromsblokker.

Utbedring: Normaliser bildet ved hjelp av 'pngcrush -revert-iphone-optimizations' for å gjenopprette standard W3C RGBA-rekkefølge.

Sikkerhetsanalyse og angrepsvektorer mot parsere

PNG støttes av mange operativsystemer og apper. Sikkerhetsrisikoer omfatter uttømming av dekoderens minne og skadelige tilleggsblokker.

Kjente angrepsvektorer

  • For store tEXt- og zTXt-metadatablokker som utløser tjenestenekt ved minnemangel (OOM - Out-Of-Memory) i dekodere uten sandkasse.
  • Sårbarheter for bufferoverflyt i heap i eldre libpng-utgivelser (f.eks. CVE-2015-8126 i png_set_PLTE).
  • Pikselstorm-dekomprimeringsangrep der et bilde med liten filstørrelse oppgir enorme dimensjoner (f.eks. 100 000 x 100 000 piksler).
  • Steganografisk eksfiltrasjon som skjuler krypterte nyttelaster i private tilleggsblokker (f.eks. eXIf eller egendefinerte blokktyper).

Anbefalte sikkerhetstiltak: Valider alltid bildedimensjoner før du tildeler piksellagre i minnet. Fjern ikke-essensielle tilleggsblokker (eXIf, tEXt) ved brukeropplastinger ved hjelp av en minnesikker renser.

Historisk opprinnelse og milepæler

2004Standardisert internasjonalt som ISO/IEC 15948.
1996PNG 1.0 utgitt som en W3C-anbefaling.
1995Opprettet på Usenet comp.graphics som en åpen erstatning for GIF etter Unisys' håndheving av LZW-patentavgifter.

Viktige fordeler

  • PNG bruker tapsfri komprimering, så koding av et uendret bilde ikke gir komprimeringstap; redigering eller fargekonvertering kan likevel endre pikselverdiene.
  • Jevn 8-bit alfagjennomsiktighet muliggjør sømløs blanding på komplekse bakgrunner.
  • Gammakorreksjon og kromatisitetsblokker sikrer konsistent gjengivelse på tvers av ulike skjermer.

Tekniske begrensninger og ulemper

  • Betydelig større filstørrelser sammenlignet med moderne tapsbaserte formater som WebP eller AVIF for fotografisk innhold.
  • Ingen innebygd flerfaseanimasjon i standard PNG (krever APNG-utvidelse).
  • Høy bitdybde (16 bit per kanal) skaper enorme ukomprimerte dekodingsbuffere i minnet.

Interessante tekniske fakta

  • Den 8 byte lange magiske signaturen ble utformet spesielt for å oppdage korrupsjon av CR/LF-linjeslutt ved FTP-overføringer.
  • Det uoffisielle rekursive akronymet for PNG var 'PNG's Not GIF'.
  • Apple bruker en proprietær CgBI-blokk i iOS-app-PNG-er som reverserer RGBA til BGRA for direkte GPU-gjengivelse.

Ofte stilte tekniske spørsmål

Hvorfor øker noen ganger størrelsen på en PNG-fil når den lagres i bilderedigeringsprogrammer?

Ulike programvarepakker bruker varierende Deflate-komprimeringsnivåer og heuristikker for prediktive skannlinjefiltre. Programmer som Photoshop legger ofte til ukomprimerte fargeprofiler, XMP-metadatablokker og uoptimaliserte IDAT-blokkstørrelser. Dedikerte verktøy som File2File.app Compressor evaluerer alle 5 skannlinjefiltre på nytt for å oppnå minst mulig filstørrelse.

Hva er forskjellen mellom PNG-8 og PNG-24?

PNG-8 bruker en indeksert fargepalett med opptil 256 farger (i likhet med GIF), noe som gir svært små filer som egner seg for enkle ikoner. PNG-24 støtter 16,7 millioner farger (Truecolor 8 biter per kanal), og PNG-32 legger til en 8-bits alfagjennomsiktighetskanal.

Hvorfor har PNG 5 prediktive skannlinjefiltre?

Deflate komprimerer gjentatte bytemønstre. Fordi fotografiske eller gradientpiksler endres gradvis, filtrerer PNG hver skannlinje (None, Sub, Up, Average, Paeth) ved å beregne forskjeller mellom tilstøtende piksler. Dette forvandler gradientdata til strenger av nesten-null byte som komprimerer dramatisk bedre under Deflate.

Støtter PNG CMYK-fargerom for kommersiell trykking?

Nei. Den offisielle W3C PNG-spesifikasjonen begrenser bevisst fargetyper til Gråtoner, Indeksert og RGB. Profesjonelle trykkingsarbeidsflyter som krever CMYK, må bruke TIFF- eller PDF-beholdere.