Geanimeerde GIF (.gif)

CompuServe Standaard

Het Graphics Interchange Format (GIF) is een 8-bits rasterafbeeldingsformaat op basis van een palet, ontwikkeld door CompuServe, dat wereldwijd bekendstaat om het populair maken van korte herhalende animaties op het vroege web.

GIF naar MP4 converteren

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

GIF online comprimeren

Privé - bestanden verlaten uw apparaat niet

Inspecteren en metadata

Besturingssystemen en bestandsanalysators herkennen GIF-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 GIF-bestanden aan de hand van de eerste binaire bytesequentie:

HEX-HANDTEKENING (OFFSET 0):

47 49 46 38

ASCII-WEERGAVE: GIF8

Standaardisatie: CompuServe GIF87a / GIF89a Specification

Technische specificaties

ContainerarchitectuurStroomgebaseerd paletafbeeldingsformaat met blokheaders en afsluitbyte (0x3B)
CompressieVerliesvrije woordenboekcompressie met Lempel-Ziv-Welch (LZW)
Bytevolgorde (endianness)Little-Endian voor canvasafmetingen en vertragingstimers
KleurruimtenGeïndexeerd 8-bits palet (maximaal 256 kleuren per frame)
Kanalen en structuurGeïndexeerd palet met 1-bits binaire transparantie (aan/uit)
Maximale afmetingen65.535 x 65.535 pixels (gehele getallen zonder teken van 2 bytes)
Transparantie1-bits binaire transparantie (enkele kleurindex gemarkeerd als transparant)
Streaming en progressiefInterlacing-algoritme met 4 doorgangen, ondersteund in de basisspecificatie

Technische vergelijkingsmatrix: GIF versus concurrenten

Technisch kenmerkGIF (Huidig)Geanimeerde WebPMP4 (H.264)APNG
BestandsgrootteZeer groot (slechte compressie voor videoframes)Vaak kleiner dan GIF; resultaten hangen af van afbeeldingsinhoud en coderingsinstellingenKan kleiner zijn dan GIF; resultaten hangen af van afbeeldingsinhoud en coderingsinstellingenGemiddeld
KleurondersteuningMaximaal 256 kleuren per frame16,7 miljoen kleuren (24-bits truecolor)16,7 miljoen kleuren (YUV 4:2:0)16,7 miljoen kleuren (24-bits truecolor)
TransparantieAlleen 1-bit binair (rafelige randen)Volledig vloeiend 8-bits alfakanaalGeen native transparantieVolledig vloeiend 8-bits alfakanaal
PlatformondersteuningBrede ondersteuning op veel huidige en oudere platformsOndersteund door veel huidige browsers; de beschikbaarheid varieertOndersteund door veel videospelers en browsers; de beschikbaarheid varieertOndersteund door veel huidige browsers; de beschikbaarheid varieert

Veelvoorkomende beschadigingen en gids voor hex-herstel

De animatie wordt gedeeltelijk afgespeeld en loopt vast, of de afbeeldingsviewer meldt een onverwacht einde van het bestand (unexpected EOF).

Oorzaak: Ontbrekende afsluitende trailerbyte 0x3B (puntkomma) veroorzaakt door afgebroken download.

Herstel: Voeg byte 0x3B toe aan het einde van het bestand met een hex-editor.

Beveiligingsanalyse en aanvalsvectoren voor parsers

GIF-bestanden zijn eenvoudig, maar kregen in het verleden te maken met aanvallen via bufferoverlopen bij LZW-decompressie en met GIFAR-polyglots.

Bekende aanvalsvectoren

  • Kwetsbaarheden door LZW-bufferoverlopen in oudere native decoders.
  • GIFAR-polyglotaanvallen: bestanden maken die tegelijk geldige GIF- en Java JAR-bestanden zijn om uploadfilters te omzeilen.

Aanbevolen beveiligingspraktijken: Converteer geanimeerde GIF's die gebruikers uploaden direct naar MP4 of geanimeerde WebP om bandbreedte te besparen en polyglotdreigingen te neutraliseren.

Historische oorsprong en mijlpalen

2006Alle wereldwijde patenten met betrekking tot LZW-compressie verlopen, waardoor GIF volledig in het publieke domein komt.
1995Netscape 2.0 introduceert het Application Extension Block, waarmee animaties oneindig kunnen worden herhaald.
1989CompuServe publiceert de GIF89a-specificatie die animatie en transparante kleuren toevoegt.
1987Steve Wilhite en CompuServe brengen GIF87a uit om kleurenafbeeldingen over inbelmodems te verzenden.

Belangrijkste voordelen

  • GIF wordt ondersteund door veel browsers en afbeeldingstools, hoewel de ondersteuning varieert tussen platforms en berichtenapps.
  • Direct afspelen zonder onderhandeling over videocodecs of licentiebeperkingen.
  • Verliesvrije compressie binnen het palet van 256 kleuren.

Technische beperkingen

  • Strikt beperkt tot een palet van 256 kleuren (veroorzaakt ernstige kleurbanden op foto's).
  • Enorm inefficiënte bestandsgrootte vergeleken met moderne MP4-, WebM- of geanimeerde WebP-videoformaten (vaak 5x tot 10x groter).
  • Binaire 1-bits transparantie veroorzaakt rafelige, pixelachtige randen op niet-witte achtergronden (geen alfa-blending).

Interessante technische weetjes

  • Maker Steve Wilhite legde in 2013 uit dat de bedoelde uitspraak 'JIF' is, met een zachte G.
  • Herhalende animaties maakten geen deel uit van de officiële CompuServe-specificatie; Netscape voegde in 1995 het extensieblok 'NETSCAPE2.0' toe.
  • In 1994 kondigde Unisys aan zijn LZW-softwarepatent streng te handhaven tegenover ontwikkelaars die GIF-tools maakten. Dit leidde er direct toe dat de opensourcegemeenschap het Portable Network Graphics (PNG)-formaat ontwikkelde als patentvrij alternatief.

Veelgestelde technische vragen

Waarom zijn geanimeerde GIF's zoveel groter dan MP4-video's?

GIF is in 1987 ontworpen als formaat voor statische afbeeldingen. Het mist moderne videocompressieconcepten zoals bewegingsvectoren tussen frames, macroblokken en temporele voorspellende codering. Het slaat elk frame op als een volledige, onafhankelijke rasterafbeelding, wat resulteert in enorme bestandsgroottes.

Hoe kan ik de grootte van een GIF verkleinen?

U kunt het aantal kleuren in het palet verlagen, de framesnelheid verlagen (bijvoorbeeld van 30 fps naar 15 fps), de pixelafmetingen verkleinen, of idealiter het bestand converteren naar een modern geanimeerd WebP- of MP4-formaat.

Ondersteunt GIF geluid of audiotracks?

Nee. De CompuServe GIF-specificatie is uitsluitend ontworpen voor bitmapafbeeldingsframes en vertragingstijden; er zijn geen gegevensstructuren of synchronisatiecontainers voor audiostreams. Moderne platforms die 'GIF's met geluid' lijken af te spelen, serveren in werkelijkheid gedempte of niet te ontdempen MP4- of WebM-videobestanden.