Geanimeerde PNG (.apng)

W3C Standaard

Animated Portable Network Graphics (APNG) breidt PNG uit met animatie van meerdere frames en een stilstaande afbeelding; viewers zonder APNG-ondersteuning tonen mogelijk alleen de stilstaande afbeelding.

APNG naar GIF converteren

Gratis APNG-naar-GIF-converter in uw browser. Converteer bestanden direct op uw apparaat.

Inspecteren en metadata

Besturingssystemen en bestandsanalysators herkennen APNG-bestanden aan de hand van de eerste binaire bytesequentie:

Selecteer of sleep bestanden hierheen

Privé - bestanden verlaten uw apparaat niet

of plak Ctrl+V
Privacygarantie zonder netwerktransmissie: 0 bytes geüpload naar externe servers. Alle verwerking vond lokaal plaats in uw browser-sandbox.

Bestandshandtekening op byteniveau (magic bytes)

Besturingssystemen en bestandsanalysators herkennen APNG-bestanden aan de hand van de eerste binaire bytesequentie:

HEX-HANDTEKENING (OFFSET 0):

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

ASCII-WEERGAVE: ‰PNG....

Standaardisatie: W3C Community Group Report (2021) / Mozilla Extension

Technische specificaties

ContainerarchitectuurPNG-chunkstream met acTL- (animatiebesturing), fcTL- (framebesturing) en fdAT-chunks (framedata)
CompressieDeflate (zlib) sliding-window LZ77 met 2D adaptieve filtering toegepast per frame
Bytevolgorde (endianness)Big-Endian (netwerkbytevolgorde)
KleurruimtensRGB, Display P3, Ingebed ICC-profiel (iCCP)
Kanalen en structuurRGBA (8-bit of 16-bit per kanaal Truecolor + 8-bit alpha)
Maximale afmetingen2.147.483.647 × 2.147.483.647 pixels (31-bitlimiet van PNG)
TransparantieVolledige 8-bit alpha-kanaaltransparantie (256 niveaus van vloeiende doorzichtigheid)
Streaming en progressiefHet bestand bevat een stilstaande afbeelding; APNG-compatibele viewers kunnen de animatie afspelen, terwijl andere viewers mogelijk alleen de stilstaande afbeelding tonen

Technische vergelijkingsmatrix: APNG versus concurrenten

Technisch kenmerkAPNG (Huidig)GIFWEBPAVIF
Kleurdiepte24-bit RGB (16,7M kleuren)8-bit geïndexeerd (256 kleuren)24-bit RGB (16,7M kleuren)10-bit / 12-bit HDR
Alpha-transparantie8-bit vloeiende alpha (256 niveaus)1-bit aan/uit binair masker8-bit vloeiende alpha8-bit / 10-bit vloeiende alpha
Achterwaartse compatibiliteitSommige PNG-viewers kunnen de stilstaande afbeelding tonen; animatie vereist APNG-ondersteuningOndersteuning verschilt per browser.Geen op verouderde viewersGeen op verouderde viewers
Compressie-efficiëntieDeflate (matig)LZW (slecht)VP8 key/diff-frames (hoog)AV1 inter-frame (ultrahoog)

Veelvoorkomende beschadigingen en gids voor hex-herstel

Animatie speelt alleen het eerste frame af en herhaalt of gaat nooit verder.

Oorzaak: Ontbrekende of beschadigde 'acTL' (Animation Control)-chunk geplaatst voor de eerste IDAT-chunk.

Herstel: Mux de frames opnieuw met apngasm of de File2File.app Animation Converter om geldige animatiebesturingschunks te herstellen.

Beveiligingsanalyse en aanvalsvectoren voor parsers

APNG-parsers verwerken herhaalde framebesturingschunks waarbij misvormde afmetingen integer overflow of heap-uitputting kunnen veroorzaken.

Bekende aanvalsvectoren

  • Integer overflow in de berekening van de frame-offset (x_offset / y_offset) die leidt tot buiten de grenzen vallende framesamenstelling.
  • Niet-overeenkomende framebreedte/-hoogte, wat leidt tot een buffer-over-read tijdens het mengen van frames.
  • Oneindige lussen voor animatiedecomprimeren die de CPU uitputten in backend-thumbnailgeneratiediensten.

Aanbevolen beveiligingspraktijken: Valideer de totale grenzen van het geanimeerde canvas en beperk het maximaal toegestane aantal frames voordat deze worden gerasterd.

Historische oorsprong en mijlpalen

2021Het W3C registreert de APNG-specificatie officieel als een erkende community-standaard.
2017Google Chrome 59 heeft native APNG-ondersteuning toegevoegd; browserondersteuning hangt nog steeds af van de browser en versie.
2008Apple adopteert APNG voor geanimeerde iOS-stickers en Safari-browsergraphics.
2004Stuart Parmenter en Vladimir Vukicevic specificeren APNG voor netwerkstatusanimaties in Mozilla Firefox.

Belangrijkste voordelen

  • Volledige 24-bit RGB-kleur plus 8-bit alpha-transparantie, waardoor de gekartelde randartefacten van 1-bit GIF-transparantie volledig verdwijnen.
  • APNG-bestanden bevatten een stilstaande afbeelding; decoders die animatie-chunks negeren, kunnen deze weergeven als een stilstaande afbeelding.
  • Veel huidige browsers ondersteunen APNG-weergave; de beschikbaarheid hangt af van de browser en versie.

Technische beperkingen

  • Grotere bestandsgrootte dan moderne videogebaseerde animatieformaten zoals WebM of MP4.
  • Hogere coderingscomplexiteit en CPU-gebruik tijdens generatie in vergelijking met verouderde GIF.
  • Gebrek aan bewegingsvectorvoorspelling tussen frames zoals te vinden in gespecialiseerde videocodecs.

Interessante technische weetjes

  • De officiële PNG Development Group verwierp APNG in 2007 en gaf de voorkeur aan het afzonderlijke MNG-formaat, dat uiteindelijk geen adoptie wist te bereiken.
  • Apple gebruikte APNG voor geanimeerde stickers in de iOS 10 Messages App Store, wat zorgde voor massale adoptie op mobiel.
  • Als u een APNG-bestand opent in een oude afbeeldingsviewer uit de jaren negentig, wordt simpelweg het eerste frame weergegeven zonder te crashen.

Veelgestelde technische vragen

Waarom is APNG beter dan GIF?

APNG ondersteunt 16,7 miljoen kleuren en 256 niveaus van vloeiende alfa-transparantie, terwijl GIF is beperkt tot 256 kleuren en harde 1-bits transparantie.

Ondersteunen huidige browsers APNG?

Veel huidige browsers ondersteunen APNG-weergave, maar de beschikbaarheid is afhankelijk van de browser en versie.

Kan ik een APNG converteren naar een standaard GIF of MP4?

Ja. File2File.app kan APNG-animaties rechtstreeks in uw webbrowser converteren naar lichte GIF-, MP4- of WebM-bestanden.