# Graphics Interchange Format

Das Graphics Interchange Format (engl. Grafikaustausch-Format), kurz GIF [gɪf], teils auch in der Aussprache [dʒɪf], ist ein Grafikformat für Bilder mit Farbpalette (Farbpalette mit max. 256 Farben, inkl. einer „Transparenzfarbe“). Es erlaubt eine verlustfreie Kompression der Bilder. Darüber hinaus können mehrere (übereinanderliegende) Einzelbilder in einer Datei abgespeichert werden, die von geeigneten Betrachtungsprogrammen wie Webbrowsern als Animationen interpretiert werden.

## Geschichte
### Entwicklung

Das von Steve Wilhite (1948–2022) entwickelte GIF wurde 1987 von dem US-Online-Dienst CompuServe als Farbformat eingeführt, um das vorher benutzte RLE-Format zu ersetzen, das nur Schwarzweißbilder darstellen konnte. GIF wurde vor allem wegen seiner effizienten Kompression LZW populär. Die entstandenen Bilddateien benötigten deutlich weniger Speicherplatz als andere zu der Zeit übliche Grafikformate wie PCX oder MacPaint. Selbst große Bilder konnten so in vernünftiger Zeit übertragen werden, auch mit langsamen Modems. Zudem ermöglichte die offene Lizenz-Politik von CompuServe jedem Programmierer, GIF für eigene Anwendungen kostenlos zu implementieren, sofern dieser einen Hinweis auf das Urheberrecht des Online-Dienstes anbrachte.
In den ersten Jahren des Web war GIF neben dem Schwarz-Weiß-Bildformat XBM das zweite Standardformat für Bilder. Das heute dominierende JPEG-Format wurde erst nach der Einführung des Mosaic-Browsers üblich. Während das XBM-Format vollständig verdrängt wurde, konnte sich GIF behaupten, weil es – im Gegensatz zu JPEG – Transparenz und Animationen erlaubt.
Die erste 1987 herausgebrachte GIF-Version war die Version „87a“. Im Jahr 1989 veröffentlichte CompuServe eine erweiterte Version, die „89a“ genannt wird. Man kann die Version an den ersten sechs Bytes einer GIF-Datei erkennen. Diese entsprechen entweder den ASCII-Zeichen GIF87a oder GIF89a.
In den 2010er Jahren erlebten GIF-Animationen ein überraschendes Comeback im Web. Als Grund wird die Popularität von Bilder-Forenseiten wie tumblr und 4chan genannt, wo sie genutzt werden um u. a. Cinemagramme und Stereogramme zu erstellen.
Im Mai 2015 begann auch Facebook GIF zu unterstützen, nachdem dies ursprünglich abgelehnt worden war. Zunehmend wird GIF als Synonym für animierte Kurzvideos verstanden, auch wenn sie technisch nicht in diesem Format vorliegen.

### Begriff und Aussprache

Im Jahr 2012 wurde das Wort „GIF“ offiziell als Substantiv und Verb in der englischen Sprache anerkannt, als Verb mit der Bedeutung „ein GIF zu erstellen“. Der US-amerikanische Zweig der Oxford University Press wählte es als Wort des Jahres, da sich GIF „zu einem Werkzeug mit ernsthaften Anwendungen in Journalismus und Forschung entwickelt habe“.
Die korrekte englische Aussprache von „GIF“ wurde Mitte der 2010er Jahre kontrovers diskutiert. Die am häufigsten zu findende Aussprache ist die mit einem „harten G“ (gɪf, anhören), aber auch die Aussprache mit „weichem G“ (dʒɪf, anhören) ist geläufig. Deutlich seltener findet sich die Aussprache in Einzelbuchstaben (dʒiː_aɪ_ɛf, anhören). Der GIF-Entwickler Steve Wilhite sprach sich anlässlich der Verleihung des Webby Awards 2013 für die Aussprache mit weichem G aus, während andere argumentierten, dass das „G“ sich von dem Wort graphics ableite und daher mit hartem G ausgesprochen werden solle. Der Überlieferung nach ist die Aussprache mit weichem G eine hommage an den ehemaligen Erdnussbutter-Hersteller Jif.

## Eigenschaften
### Farben, Transparenz und Bildgröße

Bei GIF sind die Farbinformationen in einer Farbtabelle (auch Farbpalette genannt) abgelegt. Diese kann bis zu 256 verschiedene Einträge enthalten, die frei aus 256$^3$ ≈ 16,7 Millionen möglichen Farbwerten auswählbar sind. Als das Bildformat vorgestellt wurde, war dies keine wesentliche Einschränkung, da Hardware, mit der man mehr Farben anzeigen konnte, wegen der sehr hohen Kosten kaum verbreitet war. Für einfache Zeichnungen, Schwarz-Weiß-Fotografien und ähnliches sind 256 Farben oder Graustufen in der Regel auch heute noch ausreichend. Komplexere Bilder wie Farbfotos oder Zeichnungen mit umfangreichen Farbverläufen müssen demzufolge vor der Speicherung auf 256 Farben oder weniger reduziert werden (Farbquantisierung). Die so entstandenen Farbstufen oder Dithering-Effekte sind besonders bei großen Bildern störend sichtbar.
Ab GIF89a kann ein Farbeintrag der Palette als transparent definiert werden. Dadurch kann man an beliebigen Stellen die jeweilige Hintergrundfarbe durchscheinen lassen und z. B. den Eindruck erwecken, das Bild hätte eine nicht rechteckige Form. Teiltransparenz (Alpha-Transparenz) wie bei PNG ist damit aber nicht möglich: ein Pixel kann nur entweder „voll sichtbar“ oder „komplett durchsichtig“ sein.
Die maximale Größe von GIF-Bildern beträgt 65.535 × 65.535 Pixel.
GIF hat die MIME-Typen image/gif oder image/giff.

### Kompressionsrate

Die Kompressionsrate hängt entscheidend von der verwendeten Farbtabelle ab. Je weniger Farben die Farbtabelle enthält, desto größer ist die Kompressionsrate und umgekehrt. Die Kompressionsrate der links abgebildeten GIF-Datei ist vergleichsweise groß, weil ihre Farbtabelle nur 256 Farben enthält. Die Datei hat die Bildauflösung 1160 × 1376 Pixel und die Größe 740138 Byte. Würde jedes Pixel der Originaldatei mit der Farbtiefe 24 Bit gespeichert, dann hätte die Datei die Größe 1160 × 1376 × 24 Bit = 1160 × 1376 × 3 Byte = 4788480 Byte. Daraus ergibt sich die Kompressionsrate 4788480 / 740138 = 6,47.

### Interlacing

Schon GIF87a unterstützt das Abspeichern von Bildern mit Interlacing. Das Bild wird hierbei nicht sequentiell von oben nach unten übertragen, sondern in vier Durchläufen mit steigender Auflösung. Das ermöglicht eine grobe Darstellung von erst teilweise übertragenen Bildern, was insbesondere bei den in den 1990er Jahren noch häufig langsamen Internetverbindungen genutzt wurde, um Bilder in Webseiten schon während des Ladevorganges grob darzustellen. Dabei werden die Bilddaten nicht der Reihenfolge nach abgespeichert, sondern zunächst jede 8. Zeile (von oben nach unten), dann jede 4., jede 2. und schließlich die verbleibenden. Bei der Anzeige der Grafik im Webbrowser werden diese Zeilen dann in zunächst 8-facher, dann 4-facher, schließlich doppelter Höhe angezeigt, bis alle Daten geladen sind und das Bild 1:1 dargestellt wird. Auf diese Weise hat der Betrachter auch bei sehr langsamer Verbindung noch relativ schnell eine grobe Voransicht, die dann mit zunehmender Datenmenge verfeinert wird. Eine bessere Methode (Adam7) wurde für das PNG-Format verwendet.

### Bilder mit mehr als 256 Farben

Schon GIF87a bietet die Möglichkeit mehrere Einzelbilder, von denen jedes eine eigene Farbpalette (Local Color Table) haben kann, in einer Datei zu speichern. Diese Möglichkeit kann dazu verwendet werden Echtfarbenbilder (True-Color-GIFs) zu speichern. Anders als bei den animierten GIFs werden diese nicht nacheinander abgespielt, sondern nebeneinander aufgebaut. Dazu wird das ganze Bild schachbrettartig (Kachelgrafik) in Einzelbilder mit nicht mehr als 256 Farben aufgeteilt, die jeweils eine eigene Palette erhalten. So lassen sich Bilder mit 24 Bit Farbtiefe auch in GIF verlustfrei und standardkonform speichern und darstellen. Da die Einzelbilder unabhängig voneinander komprimiert werden und zudem je eine unkomprimierte lokale Farbpalette von 6 bis 768 Byte Länge erfordern, ist bei solchen „Echtfarben-GIFs“ insgesamt meist keine gute Kompressionsrate mehr zu erreichen.
True-Color-GIFs lassen sich z. B. mit PhotoImpact oder der freien unter der GPL stehenden ANGIF-Library von Phil Howard erzeugen. Konqueror, Apple Safari und Netscape Communicator 4.7x zeigen sie sofort und korrekt an. IrfanView, Firefox, Internet Explorer und Opera zeigen die einzelnen Frames jedoch nur mit Zwangspausen von ca. 100 ms dazwischen an, wodurch bis zum vollständigen Bildaufbau der Eindruck einer Animation entstehen kann. True-Color-GIFs lassen sich problemlos als 24-Bit-RGB-Bilder in das Grafikprogramm GIMP importieren aber nicht exportieren. Der Bildbetrachter XnView zeigte bis zur Version 1.96 schwere Grafikfehler, das Bild ist nicht erkennbar. Die Bildanzeige von Windows XP meldet nur einen Fehler und zeigt das Bild nicht an. Die Programme Reggae und SView5 zeigen die Dateien problemlos an.
Photoshop kann jegliche Varianten von GIF sowohl anzeigen als auch bearbeiten und speichern.
Eine weitere Technik, um mit GIFs Echtfarbbilder abbilden zu können, verwendet die mit GIF89a eingeführte Transparenz: es kann eine GIF-Datei als Serie von sich überlappenden Bildern mit jeweils eigener 256-Farb-Tabelle konstruiert werden, in welcher die darunterliegenden Bildanteile über transparente Einzel-Pixel der darüberliegenden sichtbar werden.
Echtfarben-GIFs erreichten bisher keine große Bekanntheit und Verbreitung, möglicherweise auch weil die meisten GIF-Decoder in Bildbetrachtern und Browsern spezifikationswidrig einen Verzögerungswert von 0 ms zwischen den Einzelframe des GIFs als typischerweise 100 ms interpretieren, obwohl die Spezifikation dies explizit verbietet:
   “8. The Decoder. The decoder has the following primary responsibilities. – Process each graphic in the Data Stream in sequence, without delays other than those specified in the control information. […]”
   „8. Der Dekodierer. Der Dekodierer hat die folgende Hauptaufgabe. – Verarbeite die Grafiken aus dem Datenstrom der Reihe nach, ohne Verzögerungen, bis auf die, die in der Kontrollinformation angegeben sind. […]“

### Animationen

Die Fähigkeit von GIF, mehrere Einzelbilder zu speichern, kann für Animationen genutzt werden. GIF ermöglicht Animationen, die sich ständig wiederholen (siehe Beispiel) oder Animationen, die nur einmal oder einige Male ablaufen, und dann beim letzten Bild stehen bleiben.
Eine offizielle Beschreibung des verwendeten Formates existiert nicht, es hat sich jedoch ein De-facto-Standard unter Browserherstellern etabliert. Dabei werden die Einzelbilder zeitverzögert nacheinander vom Webbrowser oder dem Bildbearbeitungsprogramm abgespielt. Durch diese Animationsmöglichkeit war erstmals auch die Übertragung kurzer, filmähnlicher Dateien möglich. Animierte GIFs erreichten deshalb große Verbreitung und sind auch weiterhin gebräuchlich.
Problematisch ist die fehlende Steuerung durch Nutzer, die ein animiertes GIF nicht pausieren oder erneut abspielen können. Dafür sind animierte SVGs besser geeignet, da sie mit CSS animiert werden können; mit prefers-reduced-animation aber abgefragt werden kann, ob dies im Betriebssystem oder Browser als nicht erwünscht abgeschaltet wurde.

## GIF und die LZW-Patente

1994 entdeckte die Software-Firma Unisys, dass sie ein 1983 eingereichtes Softwarepatent auf das im GIF verwendete LZW-Verfahren hielt und forderte daraufhin von CompuServe Lizenzgebühren. Die beiden Unternehmen einigten sich darauf, dass CompuServe eine Lizenz von Unisys erhält, die dann an Hersteller kommerzieller Programme, die GIF verwenden, weitergegeben werden darf. CompuServe verlangte dafür eine Grundgebühr von einem US-Dollar sowie 1,5 % des Verkaufserlöses der Software, mindestens jedoch 15 Cent pro verkaufter Kopie. Die Gültigkeit dieser Lizenz beschränkte sich außerdem auf Programme, die mit dem CompuServe-Online-Dienst zusammenarbeiteten.
Später konnte der LZW-Algorithmus auch direkt bei Unisys lizenziert werden. Zu diesem Zeitpunkt war GIF bereits so weit im World Wide Web verbreitet, dass sich kaum ein Hersteller den Forderungen von Unisys widersetzen konnte. Obwohl freie Software und nicht-kommerzielle Produkte vorerst noch von Unisys’ Lizenzforderungen ausgenommen waren, führten diese zur Entwicklung von PNG.
1999 erklärte Unisys, dass nun auch für freie Software Lizenzgebühren zu entrichten wären. Gleichzeitig ging man juristisch gegen einzelne Anwender vor, die GIF-Bilder auf ihren Webseiten verwendeten, die von nicht lizenzierter Software erzeugt worden waren.
Das US-Patent lief am 20. Juni 2003 ab; im Vereinigten Königreich, Frankreich, Deutschland und Italien galt das Patent bis zum 18. Juni 2004, in Japan bis zum 20. Juni 2004 und in Kanada bis zum 7. Juli 2004.
Ferner wurde der Firma IBM ein Patent auf dasselbe Verfahren erteilt; dies beruht auf einem Fehler des US-Patentamts. Die Anmeldung erfolgte zwar drei Wochen vor der von Unisys; nach dem Patentrecht der USA bedeutet dies jedoch nicht, dass das IBM-Patent Priorität genießt. Vielmehr dürfte das IBM-Patent aufgrund des früher erteilten Unisys-Patents ungültig sein. Es wäre am 11. August 2006 ausgelaufen.
Laut des Software Freedom Law Center liefen am 1. Oktober 2006 die letzten wesentlichen Patente auf die Verwendung von GIFs aus, so dass eine freie Verwendung nun möglich ist.

## Vergleich mit moderneren Standards

Das patentfreie PNG-Format wurde entwickelt, um GIF als Format für Einzelbilder im World Wide Web abzulösen. PNG bietet mehr Möglichkeiten (bis hin zu 64 Bit Farbtiefe), fast immer eine bessere Kompression und kann mehr Farben pro Einzelbild als GIF abspeichern. Letzteres ist der größte Vorteil von PNG gegenüber GIF.
Jedoch konnte PNG GIF trotz der Lizenzgebühren für das LZW-Verfahren lange Zeit nichts anhaben, weil es bis zum Auslaufen des Patents auf das LZW-Verfahren fast nur Privatpersonen waren, die als Protest gegen die Unisys-Lizenzpolitik ihre GIFs durch PNG-Bilder ersetzten. Firmen zahlten lieber, da das PNG-Format von den meisten Browsern noch nicht richtig oder überhaupt nicht unterstützt wurde. Außerdem kann PNG – im Gegensatz zu GIF – keine Animationen darstellen. Erst seitdem die meisten Webbrowser das PNG-Format unterstützen, nimmt seine Verwendung zu. Seit 2009 konnte PNG durch seine technischen Vorteile das veraltete GIF in vielen Bereichen (außer bei Animationen) ablösen.
Das zu PNG entwickelte Animationsformat MNG konnte sich bis heute nicht durchsetzen. Deswegen wurde von Mozilla eine PNG-Erweiterung namens APNG vorgeschlagen, die neben Bildern auch Animationen darstellen kann und damit als vollständiger GIF-Ersatz gelten kann. Vorteil gegenüber MNG ist, dass Browser bzw. allgemein Software ohne Unterstützung von APNG (wie z. B. der Internet Explorer) von Animationen in diesem Format immerhin das erste Bild anzeigen. Jedoch wurde APNG 2007 von der PNG-Group nicht als PNG-Erweiterung akzeptiert. Trotzdem entwickelt Mozilla APNG weiter, z. B. die im Juni 2008 veröffentlichten Versionen von Firefox (3.0) und Opera (9.50) unterstützen APNG, jedoch kein MNG mehr.
Als moderne Alternative zu animierten GIFs können mit HTML5 direkt Videodateien eingebunden werden. Verbreitete Formate sind unter anderem WebM, H.264 und Theora. Dabei verbessert sich die Qualität der Animation erheblich, sie benötigt weniger Speicherplatz und durch die Anzeige interaktiver Steuerelemente verbessert sich die Bedienbarkeit. Falls lediglich einfache Bewegungen von Objekten dargestellt werden sollen, können möglicherweise CSS3-Animationen genutzt werden.
Obwohl GIF als technisch veraltet angesehen werden kann, ist es jedoch aufgrund seiner weiten Verbreitung, seines Bekanntheitsgrades und der Einsetzbarkeit auch für Animationen bislang nicht vollständig ersetzt worden.

## Verbreitung und Verwendung

GIF-Bilder wurden schon bald nach der Einführung als Web-Format vielfältiger eingesetzt, z. B. von Programmen wie Computerspielen, DOS oder Datenbanken. In den Anfangstagen des Web wurden Fotos und sonstige Echtfarb-Grafiken meistens im GIF gespeichert, obwohl dafür eigentlich technisch schlecht geeignet. Die damals noch nicht sehr weit verbreiteten True-Color-Grafiken wurden dabei (meist unter Anwendung von Dithering) auf 256 Farben oder weniger reduziert. GIFs in diesem Anwendungsfall sind deshalb noch häufig auf den wenigen Webseiten anzutreffen, die seit dieser Zeit noch (nahezu) unverändert existieren. Für Fotografien und andere Anwendungen die große Farbtiefen erfordern und als Allzweck-Bildformat wurde GIF seit den 2000er Jahren unüblich.
Jedoch werden GIF-Bilder weiterhin (trotz der Konkurrenz durch PNG) in großer Zahl im Internet verwendet, besonders für Banner, kleinere Bilder und für Animationen. GIF-Animationen (beispielsweise rotierende oder blinkende Textelemente) wurden am Anfang der Popularität des WWW, vor dem Jahr 2000, häufig als Blickfang und als erste dynamische Multimediaelemente auf vielen sonst statischen Webseiten eingesetzt (was ihnen auch den scherzhaften Beinamen „Zappel-GIF“ einbrachte). Obwohl technisch überholt, erlebten in den 2010er Jahren GIF-Animationen ein weiteres Comeback im Web und werden beispielsweise genutzt, um Cinemagramme oder Stereogramme zu erstellen. Als Grund wird die Popularität von Bilder-Forenseiten wie tumblr und 4chan genannt. Ein weiterer Grund ist die breitbandige und gute technische Unterstützung von animierten GIFs über alle Browser- und Betriebssystemgrenzen hinweg, im Gegensatz zu moderneren Alternativen jener Zeit wie SVG, Flash oder animierten PNGs, die auch häufig zusätzliche Codecs oder Browser-Plug-ins benötigten.

### Animierte GIFs als Auslöser epileptischer Anfälle

Im März 2017 wurde ein Fall bekannt, in dem ein Epileptiker durch einen Tweet mit einer animierten GIF in einen Anfall gezwungen wurde.

## Formatvergleich für Echtfarbbild

* Original-Echtfarbbild als JPEG (1160 × 1376 Pixel, 186 kB)
* 256-Farben-GIF (1160 × 1376 Pixel, 723 kB)
* Echtfarb-PNG (1160 × 1376 Pixel, 2,25 MB)
* Echtfarb-GIF mit 50.490 Farben (250 × 296 Pixel, 304 kB)