emptygif
Lingua: Italiano

La GIF trasparente più piccola pesa 43 byte.

Eccola tutta. Scegli un byte per vedere cosa fa, poi copia il file, scaricalo, usalo in hotlink o servilo dal tuo codice.

La GIF da 43 byte, ingrandita: un pixel trasparente
0000
0010
0020
Scarica 1×1.gif

R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==

Esamina la tua GIF

Cosa fa ogni byte

Una GIF è una sequenza di blocchi. Questa ne ha sette, e ogni colore in questa pagina appartiene a uno di essi. Seleziona un byte o un blocco per leggerne la descrizione. I numeri sono memorizzati in little-endian: il byte meno significativo viene prima, quindi 01 00 significa 1.

ByteCampoSignificato
Intestazione Dice al decoder che si tratta di una GIF e quale versione del formato aspettarsi.
47 49 46FirmaLe lettere ASCII «GIF». Ogni file GIF inizia con queste.
38 39 61Versione«89a». Per la trasparenza serve 89a; 87a non ha l'estensione di controllo grafico.
Descrittore dello schermo logico Le dimensioni del canvas e come è impostata la sua tabella dei colori.
01 00Larghezza del canvas1 px.
01 00Altezza del canvas1 px.
80Flag compattatiQuattro impostazioni stipate in un byte. Il bit più alto indica che segue una tabella dei colori globale; gli ultimi tre bit ne indicano la dimensione.
00Indice del colore di sfondoVoce 0 della palette. I browser la ignorano e mostrano ciò che c'è dietro l'immagine.
00Proporzioni dei pixel0 indica pixel quadrati, senza correzione.
Tabella dei colori globale La palette. I pixel memorizzano un indice in questa lista invece di un colore.
FF FF FFVoce della paletteRosso, verde e blu, un byte ciascuno: #ffffff. Due voci sono la tabella più piccola che una GIF possa avere.
00 00 00Voce della paletteRosso, verde e blu, un byte ciascuno: #000000. Due voci sono la tabella più piccola che una GIF possa avere.
Estensione di controllo grafico Blocco opzionale aggiunto in GIF89a. Qui rende trasparente la voce 0 della palette.
21Introduttore di estensione0x21 («!») annuncia un blocco di estensione.
F9Etichetta di controllo grafico0xF9 indica che questa estensione è un'estensione di controllo grafico.
04Dimensione del bloccoSeguono 4 byte di impostazioni.
01Flag compattatiIl bit più basso è il flag di trasparenza. È attivo, quindi viene usato l'indice trasparente qui sotto.
00 00Ritardo0 centesimi di secondo. Conta solo per le animazioni.
00Indice del colore trasparenteLa voce 0 della palette viene disegnata completamente trasparente.
00Terminatore di bloccoUn sotto-blocco di lunghezza zero che chiude il blocco.
Descrittore dell'immagine Dove si trova l'immagine sul canvas e quanto è grande.
2CSeparatore d'immagine0x2C («,») inizia un'immagine.
00 00SinistraL'immagine inizia a 0 px dal bordo sinistro del canvas.
00 00AltoL'immagine inizia a 0 px dal bordo superiore del canvas.
01 00Larghezza dell'immagine1 px.
01 00Altezza dell'immagine1 px.
00Flag compattatiNessuna tabella dei colori locale, niente interlacciamento. L'immagine usa la palette globale.
Dati dell'immagine I pixel, compressi con LZW e divisi in sotto-blocchi di massimo 255 byte.
02Dimensione minima del codice LZW2, quindi i codici compressi partono da 3 bit di larghezza.
02Dimensione del sotto-bloccoSeguono 2 byte di dati compressi.
44 01Pixel compressiCodici LZW impacchettati a partire dal bit più basso. Qui sotto vedi come si decodificano.
00Terminatore di bloccoUn sotto-blocco di lunghezza zero che chiude il blocco.
Marcatore di fine Un byte che segna la fine del file.
3BMarcatore di fine0x3B («;») chiude il file.

Dentro i byte compattati

Tre byte memorizzano ciascuno diverse piccole impostazioni. Il bit 7 è quello più a sinistra.

Descrittore dello schermo logico 0x80
1Tabella dei colori globale presente
000Risoluzione del colore
0Palette ordinata per importanza
000Dimensione della tabella: 2^(n+1) voci
Estensione di controllo grafico 0x01
000Riservato
000Metodo di disposal
0Attendi input dell'utente
1Trasparenza attiva
Descrittore dell'immagine 0x00
0Tabella dei colori locale presente
0Interlacciata
0Palette ordinata per importanza
00Riservato
000Dimensione della tabella locale

Come due byte contengono un pixel

Con una dimensione minima del codice di 2, il decoder legge codici da 3 bit. Il codice 4 azzera la tabella, il codice 5 termina l'immagine e i codici da 0 a 3 sono voci della palette. I byte 44 01 si leggono a partire dal bit più basso:

0x44 010001000x01 00000001

  1. 001100 = 4Clear: si riparte da una tabella nuova
  2. 000000 = 0Pixel: voce 0 della palette
  3. 101101 = 5Fine dell'immagine
  4. 0000000 Bit di riempimento inutilizzati

Le immagini più grandi usano lo stesso trucco: ogni nuovo codice rappresenta una sequenza più lunga di un pixel rispetto alla precedente, quindi una GIF trasparente 1000×1000 occupa solo 1743 byte.

Può essere più piccola?

Sì, se togli parti di cui i decoder tollerano l'assenza. Abbiamo dato ogni variante in pasto a tre motori di browser e a Pillow, e registrato cosa hanno disegnato.

DimensioneVarianteChromiumFirefoxWebKitPillow
43Il file standard di questa pagina.TrasparenteTrasparenteTrasparenteTrasparente
42Nessun byte finale. I decoder si fermano comunque alla fine dei dati.TrasparenteTrasparenteTrasparenteTrasparente
37Nessuna palette. Ancora valida: la specifica consente ai decoder di usare una propria palette, e l'indice 0 è comunque trasparente.TrasparenteTrasparenteTrasparenteTrasparente
36Niente palette e niente byte finale.TrasparenteTrasparenteTrasparenteTrasparente
35Nessun blocco di trasparenza: il pixel viene disegnato con il colore 0 della palette, il bianco.BiancoBiancoBiancoBianco
35Il formato del 1987. Non ha modo di rendere trasparente un colore.BiancoBiancoBiancoBianco
34Blocco di trasparenza, ma nessun pixel compresso.TrasparenteTrasparenteTrasparenteErrore
33Lo stesso, senza byte finale.TrasparenteTrasparenteTrasparenteErrore
29Niente palette e niente trasparenza. Ogni motore sceglie il proprio colore.NeroBiancoTrasparenteNero
26Un'immagine senza alcun dato compresso.TrasparenteTrasparenteTrasparenteErrore
14Solo intestazione, dimensioni del canvas e byte finale. Non contiene alcuna immagine.TrasparenteErroreTrasparenteErrore

Usa i 43 byte quando deve funzionare ovunque. Quella da 37 byte è ancora una GIF valida ed è risultata trasparente in tutti i motori che abbiamo testato. Sotto quella soglia dipendi dalla tolleranza del decoder, e il file da 29 byte mostra quanto i motori siano in disaccordo.

Verificato il 23 settembre 2026 con Chromium 153.0.8010.12, Firefox 155.0, WebKit 26.6, Pillow 12.2.0.

Lo stesso pixel in altri formati

Il file trasparente 1×1 più piccolo che siamo riusciti a costruire in ogni formato, dato agli stessi quattro motori. Apri una riga per vederne i byte, colorati come i blocchi GIF che svolgono lo stesso ruolo.

DimensioneFileData URIChromiumFirefoxWebKitPillow
28
WebP Lo stesso senza due byte di padding. WebKit rifiuta i file WebP più corti di 30 byte.
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 Contenitore 12
  • VP8L chunk Contenitore 8
  • 0x2F Firma 1
  • width, height, alpha Dimensione 4
  • prefix codes Pixel 3
63TrasparenteTrasparenteErroreTrasparente
30
WebP VP8L lossless. Ogni codice prefisso contiene un solo simbolo, quindi i pixel non occupano alcun bit e il file resta di questa dimensione fino a 16384×16384.
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 Contenitore 12
  • VP8L chunk Contenitore 8
  • 0x2F Firma 1
  • width, height, alpha Dimensione 4
  • prefix codes Pixel 3
  • padding Padding 2
63TrasparenteTrasparenteTrasparenteTrasparente
43
GIF La GIF da 43 byte in cima a questa pagina.
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
  • Intestazione 6
  • Descrittore dello schermo logico 7
  • Tabella dei colori globale 6
  • Estensione di controllo grafico 8
  • Descrittore dell'immagine 10
  • Dati dell'immagine 5
  • Marcatore di fine 1
82TrasparenteTrasparenteTrasparenteTrasparente
58
BMP La classica intestazione da 40 byte non ha una maschera alfa, quindi il quarto byte viene ignorato e il pixel è nero ovunque.
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 Firma 14
  • BITMAPINFOHEADER Dimensione 40
  • BGRA Pixel 4
102NeroNeroNeroNero
62
SVG Un elemento svg vuoto con larghezza e altezza. Pillow non legge SVG.
<svg xmlns="http://www.w3.org/2000/svg" width="1" height="1"/>
  • <svg xmlns> Firma 39
  • width, height Dimensione 21
  • /> Fine 2
85TrasparenteTrasparenteTrasparenteErrore
67
PNG Truecolor con alfa. L'unica riga di zeri è compressa a mano, un byte più corta di zlib alla sua impostazione migliore.
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 Firma 8
  • IHDR Dimensione 25
  • IDAT Pixel 22
  • IEND Fine 12
114TrasparenteTrasparenteTrasparenteTrasparente
70
ICO Una favicon che contiene una bitmap a 32 bit e la sua maschera AND a 1 bit.
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 Firma 6
  • ICONDIRENTRY Dimensione 16
  • BITMAPINFOHEADER Dimensione 40
  • BGRA Pixel 4
  • AND mask Trasparenza 4
121TrasparenteTrasparenteTrasparenteTrasparente
74
BMP Un'intestazione da 56 byte con maschera alfa. WebKit non la carica.
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 Firma 14
  • BITMAPV3INFOHEADER Dimensione 56
  • BGRA Pixel 4
122TrasparenteTrasparenteErroreTrasparente
89
ICO Una favicon che contiene il PNG da 67 byte.
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 Firma 6
  • ICONDIRENTRY Dimensione 16
  • PNG signature Firma 8
  • IHDR Dimensione 25
  • IDAT Pixel 22
  • IEND Fine 12
145TrasparenteTrasparenteTrasparenteTrasparente
126
BMP L'intestazione V4. WebKit ignora la sua maschera alfa e disegna nero.
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 Firma 14
  • BITMAPV4INFOHEADER Dimensione 108
  • BGRA Pixel 4
190TrasparenteTrasparenteNeroTrasparente
142
BMP L'intestazione V5, con lo stesso risultato 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 Firma 14
  • BITMAPV5INFOHEADER Dimensione 124
  • BGRA Pixel 4
214TrasparenteTrasparenteNeroTrasparente
437
AVIF Lo stesso con sottocampionamento 4:0:0, che elimina i piani di colore.
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 Firma 28
  • meta Metadati 362
  • mdat Pixel 47
607TrasparenteTrasparenteTrasparenteTrasparente
471
AVIF Ciò che scrive libavif a qualità 100: un'immagine AV1 per il colore e una per l'alfa, in box ISO BMFF.
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 Firma 32
  • meta Metadati 390
  • mdat Pixel 49
651TrasparenteTrasparenteTrasparenteTrasparente

WebP, con 30 byte, è il file più piccolo risultato trasparente in tutti e quattro i motori: 13 byte in meno della GIF.

Lunghezza del data URI in caratteri: SVG come testo codificato per URL, gli altri in base64. Verificato il 24 settembre 2026 con Chromium 153.0.8010.12, Firefox 155.0, WebKit 26.6, Pillow 12.2.0. AVIF scritto da libavif 1.4.1.

Creane una di qualsiasi dimensione

Trasparente o a tinta unita, da 1×1 fino a 65535×65535. Viene generata nel tuo browser; non viene caricato nulla.

Riempimento
Formato
Dimensioni comuni

1×1 · 43 byte

Scarica GIF

Servila dal tuo stack

191 snippet pronti all'uso. Scegli il tuo: ognuno risponde sul percorso che scegli con una risposta image/gif. Se sopra hai cambiato dimensione o colore, gli snippet usano quella GIF.

Express JavaScript

Installa
npm i express
File
server.mjs
Esegui
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);

Abbiamo eseguito questo snippet e confrontato i byte che ha restituito. Apri pagina

A cosa serve

  • Pixel di tracciamento e beacon: il server registra la richiesta e risponde con la più piccola immagine valida.
  • Segnaposto per immagini in lazy loading, così il tag img è valido prima che arrivi la sorgente reale.
  • Spaziatori di dimensione fissa nelle email HTML, dove il supporto CSS è frammentario.
  • Test e mock che hanno bisogno di un'immagine reale senza doverne includere una.

I pixel di tracciamento sono meno affidabili di quanto sembri

Apple Mail precarica le immagini remote tramite un proxy quando è attiva la Protezione della privacy di Mail, quindi un'«apertura» potrebbe non essere mai stata una persona. Anche Gmail recupera le immagini tramite un proprio proxy e le mette in cache. Molti client bloccano le immagini remote per impostazione predefinita. Per l'analisi delle pagine, navigator.sendBeacon() o una risposta 204 No Content sono spesso più adatti di un'immagine.

Domande frequenti

Perché si chiama vuota se ha un pixel?
Una GIF deve avere almeno un pixel. Questa è 1×1 e il suo unico colore è marcato come trasparente, quindi non si vede nulla.
Il file da 43 byte è valido?
Sì. Segue esattamente la specifica GIF89a, e tutti i motori nella tabella qui sopra lo disegnano trasparente.
Perché una GIF e non un PNG o un WebP?
È più piccola di un PNG trasparente minimo, e qualsiasi browser, client email o libreria di immagini degli ultimi 35 anni è in grado di leggerla.
Meglio un data URI o un file?
Un data URI risparmia una richiesta ed è adatto a segnaposto e CSS. Serve un file o un endpoint quando lo scopo è proprio la richiesta, come per i pixel di tracciamento.
Quale Content-Type devo inviare?
image/gif. Aggiungi Cache-Control: no-store se ogni richiesta deve arrivare al tuo server.