PNG-bild (.png)

W3C Standard

Portable Network Graphics (PNG) är ett fritt rastergrafikfilformat som stöder förlustfri datakomprimering, indexerade färger och variabel alfakanaltransparens.

Konvertera PNG till JPG

Gratis konverterare från PNG till JPG i webbläsaren. Konvertera filer direkt på din enhet.

Komprimera PNG online

Privat - filer lämnar aldrig din enhet

Granska och metadata

Operativsystem och filanalysverktyg identifierar PNG-filer genom att granska den inledande sekvensen av binära byte:

Välj eller släpp filer här

Privat - filer lämnar aldrig din enhet

eller klistra in Ctrl+V
Integritetsgaranti utan nätverksöverföring: 0 byte laddades upp till externa servrar. All bearbetning skedde lokalt i webbläsarens sandlåda.

Signatur i filhuvudet på bytenivå (magiska byte)

Operativsystem och filanalysverktyg identifierar PNG-filer genom att granska den inledande sekvensen av binära byte:

HEX-SIGNATUR (OFFSET 0):

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

ASCII-REPRESENTATION: .PNG....

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

Tekniska specifikationer

ContainerarkitekturBlockbaserad binär behållare med 4-byte CRC32-kontroll för varje block
KomprimeringDeflate (LZ77 och Huffman-kodning) med 5 prediktiva filter för skanningslinjer (None, Sub, Up, Average, Paeth)
ByteordningBig-endian (nätverksbyteordning) för blocklängder, dimensioner och CRC-värden
FärgrymdersRGB, Display P3, Indexerad palett (1 till 8 bitar), Gråskala, Truecolor (24/48 bitar)
Kanaler och strukturRGB med alfa (upp till 16 bitar per kanal / 64-bitars RGBA)
Maximala dimensioner2 147 483 647 x 2 147 483 647 pixlar (32-bitars osignerade heltal på 4 byte)
TransparensFull variabel alfatransparenskanal på 8 eller 16 bitar
Strömning och progressiv visningAdam7-interfolieringsalgoritmen med 7 pass möjliggör progressiv 2D-återgivning av skanningslinjer

Teknisk jämförelsematris: PNG jämfört med konkurrenter

Tekniskt attributPNG (Aktuell)WebPAVIFJPEG
KomprimeringstypHelt förlustfri (Deflate + 2D prediktiva filter)Förlustbringande (VP8) och förlustfri (VP8L)Förlustbringande (AV1 intra) och förlustfriHelt förlustbringande (diskret cosinustransform)
AlfatransparensFullständig 8-bitars / 16-bitars variabel alfakanal8-bitars alfakanal stöds8-bitars / 10-bitars / 12-bitars alfa stödsInget stöd för transparenskanal
Filstorlek (fotografier)Ofta större än förlustkomprimerade format för fotografier; den relativa storleken varierar mellan bilder och kodareKan vara mindre än JPEG; resultatet varierar mellan bilder och kodareKan vara mindre än JPEG; resultatet varierar mellan bilder och kodareMedelstor baslinje
Filstorlek (grafik/UI)Extremt kompakt för skärmdumpar, linjekonst och textUtmärkt förlustfritt lägeBra, men långsammare att kodaDålig (ger ringartefakter längs skarpa kanter)
WebbläsarkompatibilitetStöds av större webbläsare; tillgängligheten beror på webbläsare och versionBrett stöd i många aktuella webbläsare; täckningen varierar mellan versioner och plattformarStöds i många aktuella webbläsare; täckningen varierar mellan versioner och plattformarBrett stöd; tillgängligheten varierar mellan produkter och versioner

Vanliga skadeorsaker och hex-återställningsguide

Bildvisaren visar 'Fatal error: Not a valid PNG file' eller misslyckas med att öppna filen.

Grundorsak: De första 8 bytena ändrades av ett ASCII-överföringsläge (där 0x0D 0x0A omvandlades felaktigt till 0x0A eller 0x0D 0x0D 0x0A).

Återställning: Öppna filen i en hex-redigerare och kontrollera att de första 8 bytena matchar '89 50 4E 47 0D 0A 1A 0A'. Återställning av dessa exakta 8 huvudbyte återställer ofta bilden.

pngcheck rapporterar 'CRC error in chunk IDAT' eller så läses bara en del av bilden in och de nedre skanningslinjerna är skadade.

Grundorsak: Bitkorruption i den komprimerade zlib-dataströmmen eller ogiltig CRC32-kontrollsumma i ett IDAT-block.

Återställning: Använd pngcheck -f eller verktyg för återställning av Deflate-strömmar för att räkna om giltiga CRC32-värden, eller dekomprimera kvarvarande skanningslinjer upp till det skadade blocket.

Bilden renderas fint i skrivbordsvisare men misslyckas i iOS-applikationer.

Grundorsak: iOS förväntar sig Apples proprietära CgBI-format med omkastad byteordning eller färgrymdsblock som avviker från standarden.

Återställning: Normalisera bilden med 'pngcrush -revert-iphone-optimizations' för att återställa standardiserad W3C RGBA-ordning.

Säkerhetsanalys och attackvektorer för tolkar

PNG stöds av många operativsystem och appar. Säkerhetsrisker omfattar att dekodarens minne töms och skadliga tilläggsblock.

Kända attackvektorer

  • Mycket stora tEXt- och zTXt-metadatablock som kan utlösa minnesbrist (OOM) och överbelastningsattacker i avkodare utan sandlåda.
  • Sårbarheter för heap-buffertspill i äldre libpng-utgåvor (t.ex. CVE-2015-8126 i png_set_PLTE).
  • Pixelöversvämningsattacker där en bild med liten filstorlek deklarerar enorma dimensioner (t.ex. 100 000 x 100 000 pixlar).
  • Steganografisk exfiltrering som döljer krypterade nyttolaster i privata tilläggsblock (t.ex. eXIf eller anpassade blocktyper).

Rekommenderade skyddsåtgärder: Validera alltid bildens dimensioner innan pixelbuffertar allokeras i minnet. Rensa bort icke-essentiella tilläggsblock (eXIf, tEXt) vid användaruppladdningar med hjälp av en minnessäker rensare.

Historiskt ursprung och milstolpar

2004Standardiserat internationellt som ISO/IEC 15948.
1996PNG 1.0 publicerades som en W3C-rekommendation.
1995Skapades på Usenet comp.graphics som en öppen ersättare för GIF efter att Unisys började kräva licensavgifter för LZW-patentet.

Viktiga fördelar

  • PNG använder förlustfri komprimering, så kodning av en oförändrad bild ger inga komprimeringsförluster; redigering eller färgkonvertering kan ändå ändra pixelvärden.
  • Jämn transparens med 8-bitars alfa ger en snygg övergång mot komplexa bakgrunder.
  • Gammakorrigering och kromacitetsblock säkerställer konsekvent rendering på olika bildskärmar.

Tekniska begränsningar

  • Betydligt större filstorlekar än med moderna format för förstörande komprimering, som WebP eller AVIF, för fotografiskt innehåll.
  • Inget inbyggt stöd för animationer med flera bildrutor i standard-PNG (kräver APNG-tillägg).
  • Högt bitdjup (16 bitar per kanal) skapar enorma okomprimerade avkodningsbuffertar i minnet.

Intressant teknisk kuriosa

  • Den 8 byte långa magiska signaturen utformades särskilt för att upptäcka skador på CR/LF-radbrytningar vid FTP-överföringar.
  • Den inofficiella rekursiva akronymen för PNG var 'PNG's Not GIF'.
  • Apple använder ett proprietärt CgBI-block i iOS-appars PNG-filer som vänder om RGBA till BGRA för direkt GPU-rendering.

Vanliga tekniska frågor

Varför ökar ibland storleken på en PNG-fil när den sparas i bildredigerare?

Olika program använder olika Deflate-komprimeringsnivåer och heuristik för prediktiva radfilter. Program som Photoshop lägger ofta till okomprimerade färgprofiler, XMP-metadatablock och IDAT-block i storlekar som inte är optimerade. Specialiserade verktyg som File2File.app Compressor testar alla fem radfilter på nytt för att få ned filstorleken så mycket som möjligt.

Vad är skillnaden mellan PNG-8 och PNG-24?

PNG-8 använder en indexerad färgpalett med upp till 256 färger (liknande GIF), vilket ger mycket små filer lämpliga för enkla ikoner. PNG-24 stöder 16,7 miljoner färger (Truecolor 8 bitar per kanal), där PNG-32 lägger till en 8-bitars alfakanal för transparens.

Varför har PNG fem prediktiva radfilter?

Deflate komprimerar upprepade bytemönster. Eftersom pixelvärden i fotografier och gradienter ändras gradvis filtrerar PNG varje skanningslinje (None, Sub, Up, Average, Paeth) genom att beräkna skillnader mellan intilliggande pixlar. Då omvandlas gradientdata till bytesekvenser med värden nära noll, som komprimeras avsevärt bättre med Deflate.

Stöder PNG CMYK-färgrymder för kommersiell utskrift?

Nej. Den officiella W3C PNG-specifikationen begränsar medvetet färgtyper till Gråskala, Indexerat och RGB. Professionella tryckarbetsflöden som kräver CMYK måste använda TIFF- eller PDF-behållare.

Relaterade konverteringspar för PNG

PNG till JPG

Genom att konvertera PNG-rasterbilder till JPEG-format minskar filstorleken med hjälp av förstörande komprimering, vilket gör att bilder laddas snabbare på webbplatser och tar mindre lagringsutrymme.

JPG till PNG

Att konvertera en JPEG-rasterbild med förstörande komprimering till en PNG-rasterbild med förlustfri komprimering förhindrar ytterligare kvalitetsförluster och ger stöd för transparens via alfakanal.

PNG till WEBP

Konvertering från PNG till WebP kan minska filstorleken och samtidigt bevara genomskinlighet. Resultatet beror på om förlustfri eller förlustbehäftad kodning används och på bildinnehållet.

WEBP till PNG

Konvertering från WebP till PNG skapar en stillbild för program som stöder PNG. Animering i WebP bevaras inte, och detaljer som gått förlorade i källbilden kan inte återskapas.

HEIC till PNG

Konvertering av HEIC till PNG omvandlar HEVC-komprimerade foton med kvalitetsförlust till grafikfiler med förlustfri komprimering som stöds brett.

SVG till PNG

Konvertering av SVG-vektorfiler till PNG-rasterbilder omvandlar skalbar, kodbaserad grafik till pixelrutnät med fast upplösning för bred kompatibilitet med programvara.

PNG till SVG

Bädda in rasterbaserade PNG-bilder i en SVG-behållare i XML för responsiv skalning på webben och integrering i layouter med vektorstöd.

PSD till PNG

Konvertera Adobe Photoshop PSD-grafik till förlustfria PNG-bilder med full alfakanaltransparens direkt i din webbläsare utan att data skickas till någon server.