emptygif
Sprache: Deutsch

Das kleinste transparente GIF ist 43 Bytes groß.

Das ist alles. Wähle ein Byte, um zu sehen, was es tut, und kopiere die Datei dann, lade sie herunter, hotlinke sie oder liefere sie aus deinem eigenen Code aus.

Das 43-Byte-GIF, vergrößert: ein transparentes Pixel
0000
0010
0020
1×1.gif herunterladen

R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==

Eigenes GIF untersuchen

Was jedes Byte tut

Ein GIF ist eine Folge von Blöcken. Dieses hat sieben, und jede Farbe auf dieser Seite gehört zu einem davon. Wähle ein Byte oder einen Block aus, um die Beschreibung zu lesen. Zahlen werden als Little-Endian gespeichert: Das niederwertige Byte kommt zuerst, 01 00 bedeutet also 1.

BytesFeldBedeutung
Header Teilt dem Decoder mit, dass dies ein GIF ist und welche Formatversion er erwarten soll.
47 49 46SignaturDie ASCII-Buchstaben „GIF“. Jede GIF-Datei beginnt damit.
38 39 61Version„89a“. Für Transparenz ist 89a nötig; 87a hat keine Grafiksteuerungserweiterung.
Logischer Bildschirmdeskriptor Die Größe der Leinwand und wie ihre Farbtabelle aufgebaut ist.
01 00Leinwandbreite1 px.
01 00Leinwandhöhe1 px.
80Gepackte FlagsVier Einstellungen, in ein Byte gequetscht. Das höchste Bit besagt, dass eine globale Farbtabelle folgt; die letzten drei Bits geben ihre Größe an.
00HintergrundfarbindexPaletteneintrag 0. Browser ignorieren ihn und zeigen, was hinter dem Bild liegt.
00Pixel-Seitenverhältnis0 bedeutet quadratische Pixel, ohne Korrektur.
Globale Farbtabelle Die Palette. Pixel speichern statt einer Farbe einen Index in diese Liste.
FF FF FFPaletteneintragRot, Grün und Blau, je ein Byte: #ffffff. Zwei Einträge sind die kleinste Tabelle, die ein GIF haben kann.
00 00 00PaletteneintragRot, Grün und Blau, je ein Byte: #000000. Zwei Einträge sind die kleinste Tabelle, die ein GIF haben kann.
Grafiksteuerungserweiterung Optionaler Block, eingeführt mit GIF89a. Hier macht er Paletteneintrag 0 transparent.
21Erweiterungseinleitung0x21 („!“) kündigt einen Erweiterungsblock an.
F9Grafiksteuerungs-Label0xF9 besagt, dass diese Erweiterung eine Grafiksteuerungserweiterung ist.
04BlockgrößeEs folgen 4 Bytes an Einstellungen.
01Gepackte FlagsDas niedrigste Bit ist das Transparenz-Flag. Es ist gesetzt, also wird der transparente Index unten verwendet.
00 00Verzögerung0 Hundertstelsekunden. Nur für Animationen relevant.
00TransparenzfarbindexPaletteneintrag 0 wird vollständig transparent gezeichnet.
00BlockterminatorEin Sub-Block der Länge null, der den Block abschließt.
Bilddeskriptor Wo das Bild auf der Leinwand liegt und wie groß es ist.
2CBildtrenner0x2C („,“) leitet ein Bild ein.
00 00LinksDas Bild beginnt 0 px vom linken Rand der Leinwand.
00 00ObenDas Bild beginnt 0 px vom oberen Rand der Leinwand.
01 00Bildbreite1 px.
01 00Bildhöhe1 px.
00Gepackte FlagsKeine lokale Farbtabelle, kein Interlacing. Das Bild verwendet die globale Palette.
Bilddaten Die Pixel, mit LZW komprimiert und in Sub-Blöcke von bis zu 255 Bytes aufgeteilt.
02LZW-Mindestcodegröße2, die komprimierten Codes sind also anfangs 3 Bits breit.
02Sub-Block-GrößeEs folgen 2 Bytes komprimierte Daten.
44 01Komprimierte PixelLZW-Codes, vom niedrigsten Bit an gepackt. Wie sie dekodiert werden, siehst du weiter unten.
00BlockterminatorEin Sub-Block der Länge null, der den Block abschließt.
Trailer Ein Byte, das das Ende der Datei markiert.
3BTrailer0x3B („;“) beendet die Datei.

In den gepackten Bytes

Drei Bytes speichern jeweils mehrere kleine Einstellungen. Bit 7 ist das linke.

Logischer Bildschirmdeskriptor 0x80
1Globale Farbtabelle vorhanden
000Farbauflösung
0Palette nach Wichtigkeit sortiert
000Tabellengröße: 2^(n+1) Einträge
Grafiksteuerungserweiterung 0x01
000Reserviert
000Disposal-Methode
0Auf Benutzereingabe warten
1Transparenz an
Bilddeskriptor 0x00
0Lokale Farbtabelle vorhanden
0Interlaced
0Palette nach Wichtigkeit sortiert
00Reserviert
000Größe der lokalen Tabelle

Wie zwei Bytes ein Pixel enthalten

Bei einer Mindestcodegröße von 2 liest der Decoder 3-Bit-Codes. Code 4 leert die Tabelle, Code 5 beendet das Bild, und die Codes 0 bis 3 sind Paletteneinträge. Die Bytes 44 01 werden vom niedrigsten Bit an gelesen:

0x44 010001000x01 00000001

  1. 001100 = 4Clear: mit frischer Tabelle beginnen
  2. 000000 = 0Pixel: Paletteneintrag 0
  3. 101101 = 5Bildende
  4. 0000000 Ungenutzte Füllbits

Größere Bilder nutzen denselben Trick: Jeder neue Code steht für eine Folge, die ein Pixel länger ist als die vorige, daher braucht ein transparentes 1000×1000-GIF nur 1.743 Bytes.

Geht es kleiner?

Ja, wenn du Teile weglässt, deren Fehlen Decoder tolerieren. Wir haben jede Variante drei Browser-Engines und Pillow vorgesetzt und festgehalten, was sie gezeichnet haben.

GrößeVarianteChromiumFirefoxWebKitPillow
43Die Standarddatei dieser Seite.TransparentTransparentTransparentTransparent
42Kein Trailer-Byte. Decoder hören am Ende der Daten ohnehin auf.TransparentTransparentTransparentTransparent
37Gar keine Palette. Trotzdem gültig: Die Spezifikation erlaubt Decodern eine eigene Palette, und Index 0 ist ohnehin transparent.TransparentTransparentTransparentTransparent
36Keine Palette und kein Trailer.TransparentTransparentTransparentTransparent
35Kein Transparenzblock: Das Pixel wird in Palettenfarbe 0 gezeichnet, Weiß.WeißWeißWeißWeiß
35Das Format von 1987. Es kann keine Farbe als transparent markieren.WeißWeißWeißWeiß
34Transparenzblock, aber keine komprimierten Pixel.TransparentTransparentTransparentFehler
33Dasselbe ohne Trailer.TransparentTransparentTransparentFehler
29Keine Palette und keine Transparenz. Jede Engine wählt ihre eigene Farbe.SchwarzWeißTransparentSchwarz
26Ein Bild ganz ohne komprimierte Daten.TransparentTransparentTransparentFehler
14Nur Header, Leinwandgröße und Trailer. Es enthält kein Bild.TransparentFehlerTransparentFehler

Nimm die 43 Bytes, wenn es überall funktionieren muss. 37 Bytes sind noch ein gültiges GIF und waren in jeder getesteten Engine transparent. Darunter bist du auf die Nachsicht des Decoders angewiesen, und die 29-Byte-Datei zeigt, wie uneinig sich die Engines sind.

Geprüft am 23. September 2026 mit Chromium 153.0.8010.12, Firefox 155.0, WebKit 26.6, Pillow 12.2.0.

Dasselbe Pixel in anderen Formaten

Die kleinste transparente 1×1-Datei, die wir in jedem Format bauen konnten, getestet mit denselben vier Engines. Öffne eine Zeile, um ihre Bytes zu sehen, gefärbt wie die GIF-Blöcke mit derselben Aufgabe.

GrößeDateiData-URIChromiumFirefoxWebKitPillow
28
WebP Dasselbe ohne zwei Padding-Bytes. WebKit lehnt WebP-Dateien unter 30 Bytes ab.
52 49 46 46 14 00 00 00 57 45 42 50 56 50 38 4c 08 00 00 00 2f 00 00 00 10 88 88 08
  • RIFF … WEBP Container 12
  • VP8L chunk Container 8
  • 0x2F Signatur 1
  • width, height, alpha Größe 4
  • prefix codes Pixel 3
63TransparentTransparentFehlerTransparent
30
WebP Verlustfreies VP8L. Jeder Präfixcode enthält nur ein Symbol, daher kosten die Pixel keine Bits und die Datei bleibt bis 16384×16384 so groß.
52 49 46 46 16 00 00 00 57 45 42 50 56 50 38 4c 0a 00 00 00 2f 00 00 00 10 88 88 08 00 00
  • RIFF … WEBP Container 12
  • VP8L chunk Container 8
  • 0x2F Signatur 1
  • width, height, alpha Größe 4
  • prefix codes Pixel 3
  • padding Padding 2
63TransparentTransparentTransparentTransparent
43
GIF Das 43-Byte-GIF vom Anfang dieser Seite.
47 49 46 38 39 61 01 00 01 00 80 00 00 ff ff ff 00 00 00 21 f9 04 01 00 00 00 00 2c 00 00 00 00 01 00 01 00 00 02 02 44 01 00 3b
  • Header 6
  • Logischer Bildschirmdeskriptor 7
  • Globale Farbtabelle 6
  • Grafiksteuerungserweiterung 8
  • Bilddeskriptor 10
  • Bilddaten 5
  • Trailer 1
82TransparentTransparentTransparentTransparent
58
BMP Der klassische 40-Byte-Header hat keine Alpha-Maske, daher wird das vierte Byte ignoriert und das Pixel ist überall schwarz.
42 4d 3a 00 00 00 00 00 00 00 36 00 00 00 28 00 00 00 01 00 00 00 01 00 00 00 01 00 20 00 00 00 00 00 04 00 00 00 13 0b 00 00 13 0b 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  • BITMAPFILEHEADER Signatur 14
  • BITMAPINFOHEADER Größe 40
  • BGRA Pixel 4
102SchwarzSchwarzSchwarzSchwarz
62
SVG Ein leeres svg-Element mit Breite und Höhe. Pillow liest kein SVG.
<svg xmlns="http://www.w3.org/2000/svg" width="1" height="1"/>
  • <svg xmlns> Signatur 39
  • width, height Größe 21
  • /> Ende 2
85TransparentTransparentTransparentFehler
67
PNG Truecolor mit Alpha. Die einzige Zeile aus Nullen ist von Hand komprimiert, ein Byte kürzer als zlib auf der stärksten Stufe.
89 50 4e 47 0d 0a 1a 0a 00 00 00 0d 49 48 44 52 00 00 00 01 00 00 00 01 08 06 00 00 00 1f 15 c4 89 00 00 00 0a 49 44 41 54 78 01 63 00 01 00 00 05 00 01 36 d0 88 dd 00 00 00 00 49 45 4e 44 ae 42 60 82
  • PNG signature Signatur 8
  • IHDR Größe 25
  • IDAT Pixel 22
  • IEND Ende 12
114TransparentTransparentTransparentTransparent
70
ICO Ein Favicon mit einer 32-Bit-Bitmap und ihrer 1-Bit-AND-Maske.
00 00 01 00 01 00 01 01 00 00 01 00 20 00 30 00 00 00 16 00 00 00 28 00 00 00 01 00 00 00 02 00 00 00 01 00 20 00 00 00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 00 00 00
  • ICONDIR Signatur 6
  • ICONDIRENTRY Größe 16
  • BITMAPINFOHEADER Größe 40
  • BGRA Pixel 4
  • AND mask Transparenz 4
121TransparentTransparentTransparentTransparent
74
BMP Ein 56-Byte-Header mit Alpha-Maske. WebKit lädt ihn nicht.
42 4d 4a 00 00 00 00 00 00 00 46 00 00 00 38 00 00 00 01 00 00 00 01 00 00 00 01 00 20 00 03 00 00 00 04 00 00 00 13 0b 00 00 13 0b 00 00 00 00 00 00 00 00 00 00 00 00 ff 00 00 ff 00 00 ff 00 00 00 00 00 00 ff 00 00 00 00
  • BITMAPFILEHEADER Signatur 14
  • BITMAPV3INFOHEADER Größe 56
  • BGRA Pixel 4
122TransparentTransparentFehlerTransparent
89
ICO Ein Favicon mit dem 67-Byte-PNG.
00 00 01 00 01 00 01 01 00 00 01 00 20 00 43 00 00 00 16 00 00 00 89 50 4e 47 0d 0a 1a 0a 00 00 00 0d 49 48 44 52 00 00 00 01 00 00 00 01 08 06 00 00 00 1f 15 c4 89 00 00 00 0a 49 44 41 54 78 01 63 00 01 00 00 05 00 01 36 d0 88 dd 00 00 00 00 49 45 4e 44 ae 42 60 82
  • ICONDIR Signatur 6
  • ICONDIRENTRY Größe 16
  • PNG signature Signatur 8
  • IHDR Größe 25
  • IDAT Pixel 22
  • IEND Ende 12
145TransparentTransparentTransparentTransparent
126
BMP Der V4-Header. WebKit ignoriert seine Alpha-Maske und zeichnet Schwarz.
42 4d 7e 00 00 00 00 00 00 00 7a 00 00 00 6c 00 00 00 01 00 00 00 01 00 00 00 01 00 20 00 03 00 00 00 04 00 00 00 13 0b 00 00 13 0b 00 00 00 00 00 00 00 00 00 00 00 00 ff 00 00 ff 00 00 ff 00 00 00 00 00 00 ff 42 47 52 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  • BITMAPFILEHEADER Signatur 14
  • BITMAPV4INFOHEADER Größe 108
  • BGRA Pixel 4
190TransparentTransparentSchwarzTransparent
142
BMP Der V5-Header, mit demselben Ergebnis in WebKit.
42 4d 8e 00 00 00 00 00 00 00 8a 00 00 00 7c 00 00 00 01 00 00 00 01 00 00 00 01 00 20 00 03 00 00 00 04 00 00 00 13 0b 00 00 13 0b 00 00 00 00 00 00 00 00 00 00 00 00 ff 00 00 ff 00 00 ff 00 00 00 00 00 00 ff 42 47 52 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  • BITMAPFILEHEADER Signatur 14
  • BITMAPV5INFOHEADER Größe 124
  • BGRA Pixel 4
214TransparentTransparentSchwarzTransparent
437
AVIF Dasselbe mit 4:0:0-Subsampling, das die Farbebenen weglässt.
00 00 00 1c 66 74 79 70 61 76 69 66 00 00 00 00 61 76 69 66 6d 69 66 31 6d 69 61 66 00 00 01 6a 6d 65 74 61 00 00 00 00 00 00 00 21 68 64 6c 72 00 00 00 00 00 00 00 00 70 69 63 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0e 70 69 74 6d 00 00 00 00 00 01 00 00 00 2c 69 6c 6f 63 00 00 00 00 44 00 00 02 00 01 00 00 00 01 00 00 01 a0 00 00 00 15 00 02 00 00 00 01 00 00 01 8e 00 00 00 12 00 00 00 42 69 69 6e 66 00 00 00 00 00 02 00 00 00 1a 69 6e 66 65 02 00 00 00 00 01 00 00 61 76 30 31 43 6f 6c 6f 72 00 00 00 00 1a 69 6e 66 65 02 00 00 00 00 02 00 00 61 76 30 31 41 6c 70 68 61 00 00 00 00 1a 69 72 65 66 00 00 00 00 00 00 00 0e 61 75 78 6c 00 02 00 01 00 01 00 00 00 a7 69 70 72 70 00 00 00 81 69 70 63 6f 00 00 00 14 69 73 70 65 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 0e 70 69 78 69 00 00 00 00 01 08 00 00 00 0c 61 76 31 43 81 00 1c 00 00 00 00 13 63 6f 6c 72 6e 63 6c 78 00 01 00 0d 00 06 80 00 00 00 38 61 75 78 43 00 00 00 00 75 72 6e 3a 6d 70 65 67 3a 6d 70 65 67 42 3a 63 69 63 70 3a 73 79 73 74 65 6d 73 3a 61 75 78 69 6c 69 61 72 79 3a 61 6c 70 68 61 00 00 00 00 1e 69 70 6d 61 00 00 00 00 00 00 00 02 00 01 04 01 02 83 04 00 02 04 01 02 83 05 00 00 00 2f 6d 64 61 74 12 00 0a 04 18 00 06 15 32 08 10 00 00 18 e1 42 72 10 12 00 0a 07 18 00 06 18 08 68 35 32 08 10 00 00 18 e1 42 72 10
  • ftyp Signatur 28
  • meta Metadaten 362
  • mdat Pixel 47
607TransparentTransparentTransparentTransparent
471
AVIF Was libavif bei Qualität 100 schreibt: ein AV1-Bild für die Farbe und eins für Alpha, in ISO-BMFF-Boxen.
00 00 00 20 66 74 79 70 61 76 69 66 00 00 00 00 61 76 69 66 6d 69 66 31 6d 69 61 66 4d 41 31 42 00 00 01 86 6d 65 74 61 00 00 00 00 00 00 00 21 68 64 6c 72 00 00 00 00 00 00 00 00 70 69 63 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0e 70 69 74 6d 00 00 00 00 00 01 00 00 00 2c 69 6c 6f 63 00 00 00 00 44 00 00 02 00 01 00 00 00 01 00 00 01 c0 00 00 00 17 00 02 00 00 00 01 00 00 01 ae 00 00 00 12 00 00 00 42 69 69 6e 66 00 00 00 00 00 02 00 00 00 1a 69 6e 66 65 02 00 00 00 00 01 00 00 61 76 30 31 43 6f 6c 6f 72 00 00 00 00 1a 69 6e 66 65 02 00 00 00 00 02 00 00 61 76 30 31 41 6c 70 68 61 00 00 00 00 1a 69 72 65 66 00 00 00 00 00 00 00 0e 61 75 78 6c 00 02 00 01 00 01 00 00 00 c3 69 70 72 70 00 00 00 9d 69 70 63 6f 00 00 00 14 69 73 70 65 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 10 70 69 78 69 00 00 00 00 03 08 08 08 00 00 00 0c 61 76 31 43 81 00 0c 00 00 00 00 13 63 6f 6c 72 6e 63 6c 78 00 01 00 0d 00 06 80 00 00 00 0e 70 69 78 69 00 00 00 00 01 08 00 00 00 0c 61 76 31 43 81 00 1c 00 00 00 00 38 61 75 78 43 00 00 00 00 75 72 6e 3a 6d 70 65 67 3a 6d 70 65 67 42 3a 63 69 63 70 3a 73 79 73 74 65 6d 73 3a 61 75 78 69 6c 69 61 72 79 3a 61 6c 70 68 61 00 00 00 00 1e 69 70 6d 61 00 00 00 00 00 00 00 02 00 01 04 01 02 83 04 00 02 04 01 05 86 07 00 00 00 31 6d 64 61 74 12 00 0a 04 18 00 06 15 32 08 10 00 00 18 e1 42 72 10 12 00 0a 08 18 00 06 08 08 68 34 20 32 09 10 00 00 00 07 c8 24 c6 62
  • ftyp Signatur 32
  • meta Metadaten 390
  • mdat Pixel 49
651TransparentTransparentTransparentTransparent

WebP ist mit 30 Bytes die kleinste Datei, die in allen vier Engines transparent war: 13 Bytes weniger als das GIF.

Länge der Data-URI in Zeichen: SVG als URL-kodierter Text, alle anderen in base64. Geprüft am 24. September 2026 mit Chromium 153.0.8010.12, Firefox 155.0, WebKit 26.6, Pillow 12.2.0. AVIF erzeugt mit libavif 1.4.1.

In beliebiger Größe erzeugen

Transparent oder in einer Vollfarbe, von 1×1 bis 65535×65535. Es wird in deinem Browser erzeugt; nichts wird hochgeladen.

Füllung
Format
Gängige Größen

1×1 · 43 Bytes

GIF herunterladen

Aus deinem Stack ausliefern

191 sofort lauffähige Snippets. Such dir deins aus: Jedes antwortet unter dem gewählten Pfad mit einer image/gif-Antwort. Wenn du oben Größe oder Farbe geändert hast, verwenden die Snippets dieses GIF.

Express JavaScript

Installieren
npm i express
Datei
server.mjs
Ausführen
node server.mjs
import express from 'express';

const GIF = Buffer.from('R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==', 'base64');

const app = express();

app.get('/pixel.gif', (req, res) => {
  res.set('Cache-Control', 'no-store');
  res.type('gif').send(GIF);
});

app.listen(8080);

Wir haben dieses Snippet ausgeführt und die zurückgegebenen Bytes verglichen. Seite öffnen

Wofür man es verwendet

  • Tracking-Pixel und Beacons: Der Server protokolliert die Anfrage und antwortet mit dem kleinstmöglichen gültigen Bild.
  • Platzhalter für Lazy-Loading-Bilder, damit das img-Tag gültig ist, bevor die echte Quelle geladen ist.
  • Abstandhalter fester Größe in HTML-E-Mails, wo die CSS-Unterstützung lückenhaft ist.
  • Tests und Mocks, die ein echtes Bild brauchen, ohne eines mitzuliefern.

Tracking-Pixel sind weniger zuverlässig, als sie scheinen

Apple Mail lädt entfernte Bilder über einen Proxy vorab, wenn der Mail-Datenschutz („Mail-Aktivität schützen“) aktiv ist, eine „Öffnung“ stammt also womöglich nie von einem Menschen. Auch Gmail ruft Bilder über einen eigenen Proxy ab und cacht sie. Viele Clients blockieren entfernte Bilder standardmäßig. Für Seitenanalysen passen navigator.sendBeacon() oder eine 204 No Content-Antwort oft besser als ein Bild.

Häufige Fragen

Warum heißt es leer, wenn es ein Pixel hat?
Ein GIF muss mindestens ein Pixel haben. Dieses ist 1×1 groß, und seine einzige Farbe ist als transparent markiert, also ist nichts zu sehen.
Ist die 43-Byte-Datei gültig?
Ja. Sie folgt exakt der GIF89a-Spezifikation, und jede Engine in der Tabelle oben zeichnet sie transparent.
Warum GIF und nicht PNG oder WebP?
Es ist kleiner als ein minimales transparentes PNG, und jeder Browser, jeder E-Mail-Client und jede Bildbibliothek der letzten 35 Jahre kann es lesen.
Soll ich eine Data-URI oder eine Datei verwenden?
Eine Data-URI spart eine Anfrage und eignet sich für Platzhalter und CSS. Eine Datei oder ein Endpoint ist nötig, wenn es gerade um die Anfrage selbst geht, wie bei Tracking-Pixeln.
Welchen Content-Type soll ich senden?
image/gif. Ergänze Cache-Control: no-store, wenn jede Anfrage deinen Server erreichen muss.