emptygif
Basa: Basa Jawa

GIF transparan paling cilik ukurane 43 byte.

Iki kabeh isine. Pilih byte endi wae kanggo ndeleng gunane, banjur salin file-ne, undhuh, hotlink, utawa sajikake saka kodemu dhewe.

GIF 43 byte, digedhekake: siji piksel transparan
0000
0010
0020
Undhuh 1×1.gif

R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==

Gunane saben byte

GIF iku urutan blok. File iki duwe pitung blok, lan saben werna ing kaca iki nandhani salah siji blok kasebut. Pilih byte utawa blok kanggo maca. Angka disimpen little-endian: byte sing endhek (low byte) ana ing ngarep, dadi 01 00 tegese 1.

ByteFieldTeges
Header Ngandhani decoder yen iki GIF lan versi format endi sing dienggo.
47 49 46SignatureAksara ASCII “GIF”. Saben file GIF diwiwiti nganggo aksara iki.
38 39 61Versi“89a”. 89a dibutuhake kanggo transparansi; 87a ora duwe ekstensi kontrol grafis.
Deskriptor layar logis Ukuran kanvas lan carane tabel wernane disetel.
01 00Ambane kanvas1 px.
01 00Dhuwure kanvas1 px.
80Flag gabunganPapat setelan dipadhetake ing siji byte. Bit paling dhuwur nuduhake yen tabel werna global bakal nyusul; telung bit pungkasan nemtokake ukurane.
00Indeks werna latarEntri palet 0. Browser ora nggatekake lan nuduhake apa sing ana ing mburi gambar.
00Rasio aspek piksel0 tegese piksel kothak, tanpa koreksi.
Tabel werna global Palet. Piksel nyimpen indeks menyang dhaptar iki, dudu werna.
FF FF FFEntri paletAbang, ijo lan biru, siji byte saben werna: #ffffff. Rong entri iku tabel paling cilik sing bisa diduweni GIF.
00 00 00Entri paletAbang, ijo lan biru, siji byte saben werna: #000000. Rong entri iku tabel paling cilik sing bisa diduweni GIF.
Ekstensi kontrol grafis Blok opsional sing ditambahake ing GIF89a. Ing kene blok iki nggawe entri palet 0 dadi transparan.
21Pambuka ekstensi0x21 (“!”) ngumumake blok ekstensi.
F9Label kontrol grafis0xF9 nuduhake yen ekstensi iki ekstensi kontrol grafis.
04Ukuran blokSabanjure ana 4 byte setelan.
01Flag gabunganBit paling endhek iku flag transparansi. Flag iki urip, dadi indeks transparan ing ngisor dienggo.
00 00Tundha0/100 detik. Mung ngaruh kanggo animasi.
00Indeks werna transparanEntri palet 0 digambar transparan sakabehe.
00Panutup blokSub-blok kanthi dawa nol sing nutup blok.
Deskriptor gambar Posisi gambar ing kanvas lan ukurane.
2CPamisah gambar0x2C (“,”) miwiti gambar.
00 00KiwaGambar diwiwiti 0 px saka pinggir kiwa kanvas.
00 00NdhuwurGambar diwiwiti 0 px saka pinggir ndhuwur kanvas.
01 00Ambane gambar1 px.
01 00Dhuwure gambar1 px.
00Flag gabunganOra ana tabel werna lokal, ora interlaced. Gambar nganggo palet global.
Data gambar Piksel-piksele, dikompres nganggo LZW lan dipecah dadi sub-blok sing ukurane paling akeh 255 byte.
02Ukuran kode minimum LZW2, dadi kode sing dikompres diwiwiti kanthi ambane 3 bit.
02Ukuran sub-blokSabanjure ana 2 byte data sing dikompres.
44 01Piksel sing dikompresKode LZW dikemas wiwit saka bit paling endhek. Delengen carane didekode ing ngisor.
00Panutup blokSub-blok kanthi dawa nol sing nutup blok.
Trailer Siji byte sing nandhani pungkasane file.
3BTrailer0x3B (“;”) mungkasi file.

Isine byte gabungan

Telung byte iki saben-saben nyimpen sawetara setelan cilik. Bit 7 iku sing paling kiwa.

Deskriptor layar logis 0x80
1Ana tabel werna global
000Resolusi werna
0Palet diurutake miturut pentinge
000Ukuran tabel: 2^(n+1) entri
Ekstensi kontrol grafis 0x01
000Dicadhangake
000Metode disposal
0Ngenteni input pangguna
1Transparansi urip
Deskriptor gambar 0x00
0Ana tabel werna lokal
0Interlaced
0Palet diurutake miturut pentinge
00Dicadhangake
000Ukuran tabel lokal

Carane rong byte ngemot siji piksel

Kanthi ukuran kode minimum 2, decoder maca kode 3-bit. Kode 4 ngresiki tabel, kode 5 mungkasi gambar, lan kode 0 nganti 3 iku entri palet. Byte 44 01 diwaca wiwit saka bit paling endhek:

0x44 010001000x01 00000001

  1. 001100 = 4Clear: miwiti nganggo tabel anyar
  2. 000000 = 0Piksel: entri palet 0
  3. 101101 = 5Pungkasan gambar
  4. 0000000 Bit pangisi sing ora dienggo

Gambar sing luwih gedhe nganggo trik sing padha: saben kode anyar makili larikan sing luwih dawa siji piksel tinimbang sadurunge, dadi GIF transparan 1000×1000 mung butuh 1.743 byte.

Apa bisa luwih cilik?

Bisa, yen kowe mbuwang bagean sing ilange isih ditoleransi decoder. Saben varian dijajal ing telung engine browser lan ing Pillow, banjur dicathet apa sing digambar.

UkuranVarianChromiumFirefoxWebKitPillow
43File standar ing kaca iki.TransparanTransparanTransparanTransparan
42Ora ana byte trailer. Decoder tetep mandheg ing pungkasane data.TransparanTransparanTransparanTransparan
37Ora ana palet babar pisan. Isih valid: spesifikasi ngidini decoder nganggo palete dhewe, lan indeks 0 uga wis transparan.TransparanTransparanTransparanTransparan
36Tanpa palet lan tanpa trailer.TransparanTransparanTransparanTransparan
35Ora ana blok transparansi: piksel digambar nganggo werna palet 0, yaiku putih.PutihPutihPutihPutih
35Format taun 1987. Ora ana cara kanggo nandhani werna dadi transparan.PutihPutihPutihPutih
34Ana blok transparansi nanging ora ana piksel sing dikompres.TransparanTransparanTransparanError
33Padha kaya ing ndhuwur, tanpa trailer.TransparanTransparanTransparanError
29Tanpa palet lan tanpa transparansi. Saben engine milih wernane dhewe.IrengPutihTransparanIreng
26Gambar sing ora ana data kompres babar pisan.TransparanTransparanTransparanError
14Mung header, ukuran kanvas lan trailer. Ora ana gambar ing njerone.TransparanErrorTransparanError

Gunakake 43 byte yen kudu bisa mlaku ing ngendi wae. 37 byte isih GIF sing valid lan katon transparan ing kabeh engine sing dijajal. Luwih cilik saka kuwi kowe gumantung marang toleransi decoder, lan file 29 byte nuduhake yen asile saben engine beda-beda.

Dicek tanggal 23 September 2026 nganggo Chromium 153.0.8010.12, Firefox 155.0, WebKit 26.6, Pillow 12.2.0.

Gawe ukuran apa wae

Transparan utawa werna solid, saka 1×1 nganti 65535×65535. Digawe ing browsermu; ora ana sing diunggah.

Isi
Ukuran umum

1×1 · 43 byte

Undhuh GIF

Sajikake saka stack-mu

173 snippet sing siap dilakokake. Pilih sing cocog: saben snippet mangsuli ing path sing kokpilih nganggo respons image/gif. Yen kowe ngganti ukuran utawa werna ing ndhuwur, snippet nganggo GIF kuwi.

Elixir, Erlang & Gleam

Express JavaScript

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

Snippet iki wis dilakokake lan byte asile wis dibandhingake. Bukak kaca

Gunane kanggo apa

  • Tracking pixel lan beacon: server nyathet request lan mangsuli nganggo gambar valid sing paling cilik.
  • Placeholder kanggo gambar lazy-load, supaya tag img wis valid sadurunge sumber asline teka.
  • Spacer ukuran tetep ing email HTML, sing dhukungan CSS-e ora rata.
  • Tes lan mock sing butuh gambar tenanan tanpa kudu nggawa file gambar.

Tracking pixel ora bisa dipercaya kaya sing katon

Apple Mail ngundhuh gambar remote luwih dhisik liwat proxy yen Mail Privacy Protection urip, dadi “open” bisa wae dudu wong sing mbukak. Gmail uga njupuk gambar liwat proxy-ne dhewe lan nyimpen ing cache. Akeh klien email mblokir gambar remote kanthi default. Kanggo analitik kaca, navigator.sendBeacon() utawa respons 204 No Content asring luwih cocog tinimbang gambar.

Pitakonan

Kenapa diarani kosong, kamangka ana piksele?
GIF kudu duwe paling ora siji piksel. Iki ukurane 1×1 lan siji-sijine wernane ditandhani transparan, dadi ora ana sing katon.
Apa file 43 byte iki valid?
Iya. File iki ngetutake spesifikasi GIF89a persis, lan kabeh engine ing tabel ndhuwur nggambar transparan.
Kenapa GIF, dudu PNG utawa WebP?
Ukurane luwih cilik tinimbang PNG transparan sing paling minimal, lan bisa diwaca kabeh browser, klien email lan library gambar saka 35 taun pungkasan.
Luwih becik nganggo data URI apa file?
Data URI ngirit siji request lan cocog kanggo placeholder lan CSS. File utawa endpoint dibutuhake yen request kuwi dhewe sing penting, kaya ing tracking pixel.
Content-Type apa sing kudu dikirim?
image/gif. Tambahna Cache-Control: no-store yen saben request kudu tekan server-mu.