Animerad GIF (.gif)

CompuServe Standard

Graphics Interchange Format (GIF) är ett 8-bitars palettbaserat rasterbildsformat utvecklat av CompuServe, som är världskänt för att ha populariserat korta loopande animationer på det tidiga internet.

Konvertera GIF till MP4

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

Komprimera GIF online

Privat - filer lämnar aldrig din enhet

Granska och metadata

Operativsystem och filanalysverktyg identifierar GIF-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 GIF-filer genom att granska den inledande sekvensen av binära byte:

HEX-SIGNATUR (OFFSET 0):

47 49 46 38

ASCII-REPRESENTATION: GIF8

Standardisering: CompuServe GIF87a / GIF89a Specification

Tekniska specifikationer

ContainerarkitekturStrömningsbaserat palettbildsformat med blockrubriker och slutmarkering (0x3B)
KomprimeringLempel-Ziv-Welch (LZW) förlustfri ordbokskomprimering
ByteordningLittle-endian för arbetsytans mått och fördröjningstider
FärgrymderIndexerad 8-bitars palett (maximalt 256 färger per bildruta)
Kanaler och strukturIndexerad palett med 1-bitars binär transparens (på/av)
Maximala dimensioner65 535 x 65 535 pixlar (2-byte osignerade heltal)
Transparens1-bitars binär transparens (ett enda färgindex markerat som transparent)
Strömning och progressiv visning4-passaders linjeinterlacing-algoritm stöds i basspecifikationen

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

Tekniskt attributGIF (Aktuell)Animated WebPMP4 (H.264)APNG
FilstorlekMycket stor (dålig komprimering för videobilder)Ofta mindre än GIF; resultatet beror på bildinnehåll och kodningsinställningarKan vara mindre än GIF; resultatet beror på bildinnehåll och kodningsinställningarMåttlig
FärgstödMaximalt 256 färger per bildruta16,7 miljoner färger (24-bitars Truecolor)16,7 miljoner färger (YUV 4:2:0)16,7 miljoner färger (24-bitars Truecolor)
TransparensEndast 1-bitars binär transparens (hackiga kanter)Fullständig 8-bitars mjuk alfakanalIngen inbyggd transparensFullständig 8-bitars mjuk alfakanal
PlattformsstödBrett stöd på många aktuella och äldre plattformarStöds av många aktuella webbläsare; tillgängligheten varierarStöds av många videospelare och webbläsare; tillgängligheten varierarStöds av många aktuella webbläsare; tillgängligheten varierar

Vanliga skadeorsaker och hex-återställningsguide

Animationen spelas upp delvis och fryser, eller bildvisaren rapporterar oväntat slut på filen (EOF).

Grundorsak: Den avslutande trailerbyten 0x3B (semikolon) saknas eftersom nedladdningen avbröts.

Återställning: Lägg till byten 0x3B i slutet av filen med hjälp av en hex-redigerare.

Säkerhetsanalys och attackvektorer för tolkar

GIF-filer är enkla, men har historiskt utsatts för buffertspillattacker vid LZW-expansion och GIFAR-polyglotattacker.

Kända attackvektorer

  • Sårbarheter för LZW-buffertspill i äldre inbyggda avkodare.
  • GIFAR-polyglotattacker: att skapa filer som är giltiga GIF-filer och giltiga Java JAR-filer samtidigt för att kringgå uppladdningsfilter.

Rekommenderade skyddsåtgärder: Transkoda användaruppladdade animerade GIF-filer direkt till MP4 eller animerad WebP för att spara bandbredd och neutralisera polyglothot.

Historiskt ursprung och milstolpar

2006Alla globala patent som täcker LZW-komprimering löper ut, vilket gör att GIF hamnar helt i det fria området (public domain).
1995Netscape 2.0 introducerar applikationstilläggsblocket (Application Extension Block) som möjliggör oändlig animationsloopning.
1989CompuServe publicerar specifikationen GIF89a som lägger till animation och transparenta färger.
1987Steve Wilhite och CompuServe lanserar GIF87a för att överföra färggrafik över uppringda modem.

Viktiga fördelar

  • GIF stöds av många webbläsare och bildverktyg, men kompatibiliteten varierar mellan plattformar och program.
  • Omedelbar uppspelning utan videokodek-förhandling eller licensbegränsningar.
  • Förlustfri komprimering inom sin palett med 256 färger.

Tekniska begränsningar

  • Strikt begränsat till en palett på 256 färger (orsakar kraftiga färgbandningar på fotografier).
  • Betydligt större filer än med moderna videoformat som MP4, WebM eller animerad WebP (ofta 5 till 10 gånger större).
  • Binär 1-bitars transparens orsakar hackiga, pixelaktiga kanter på icke-vita bakgrunder (ingen alfa-blending).

Intressant teknisk kuriosa

  • Skaparen Steve Wilhite klargjorde berömt 2013 att det avsedda uttalet är 'JIF' med ett mjukt G.
  • Loopande animationer var inte en del av den officiella CompuServe-specifikationen; Netscape lade till tilläggsblocket 'NETSCAPE2.0' år 1995.
  • År 1994 meddelade Unisys att de aggressivt skulle hävda sitt LZW-programvarupatent mot utvecklare som skapade GIF-verktyg, vilket direkt ledde till att open source-communityt uppfann formatet Portable Network Graphics (PNG) som ett patentfritt alternativ.

Vanliga tekniska frågor

Varför är animerade GIF-filer så mycket större än MP4-videor?

GIF designades 1987 som ett statiskt bildformat. Det saknar moderna videokomprimeringskoncept som bildruteöverskridande rörelsevektorer, makroblock och temporär prediktiv kodning. Det lagrar varje bildruta som en fullständig oberoende rasterbild, vilket resulterar i enorma filstorlekar.

Hur kan jag minska storleken på en GIF?

Du kan minska antalet färger i paletten, sänka bildfrekvensen (t.ex. från 30 fps till 15 fps), minska pixeldimensionerna eller helst konvertera filen till modern animerad WebP eller MP4.

Stöder GIF ljud eller ljudspår?

Nej. CompuServe GIF-specifikationen utformades enbart för bitmappsbildrutor och tidsfördröjningar; den innehåller inga datastrukturer eller synkroniseringsbehållare för ljudströmmar. Moderna plattformar som verkar spela upp 'GIF-filer med ljud' visar i stället ljudlösa MP4- eller WebM-videofiler där det inte går att slå på ljudet.