ਸਭ ਤੋਂ ਛੋਟੀ ਪਾਰਦਰਸ਼ੀ GIF 43 ਬਾਈਟ ਦੀ ਹੈ।
ਪੂਰੀ ਫਾਈਲ ਇਹੀ ਹੈ। ਕੋਈ ਵੀ ਬਾਈਟ ਚੁਣ ਕੇ ਵੇਖੋ ਕਿ ਉਹ ਕੀ ਕਰਦੀ ਹੈ, ਫਿਰ ਫਾਈਲ ਕਾਪੀ ਕਰੋ, ਡਾਊਨਲੋਡ ਕਰੋ, ਹੌਟਲਿੰਕ ਕਰੋ ਜਾਂ ਆਪਣੇ ਕੋਡ ਤੋਂ ਸਰਵ ਕਰੋ।

ਹਰ ਬਾਈਟ ਕੀ ਕਰਦੀ ਹੈ
GIF ਬਲਾਕਾਂ ਦੀ ਇੱਕ ਲੜੀ ਹੁੰਦੀ ਹੈ। ਇਸ ਫਾਈਲ ਵਿੱਚ ਸੱਤ ਬਲਾਕ ਹਨ, ਅਤੇ ਇਸ ਪੰਨੇ ਦਾ ਹਰ ਰੰਗ ਇਨ੍ਹਾਂ ਵਿੱਚੋਂ ਕਿਸੇ ਇੱਕ ਨਾਲ ਜੁੜਿਆ ਹੈ। ਪੜ੍ਹਨ ਲਈ ਕੋਈ ਬਾਈਟ ਜਾਂ ਬਲਾਕ ਚੁਣੋ। ਨੰਬਰ little-endian ਰੂਪ ਵਿੱਚ ਸਟੋਰ ਹੁੰਦੇ ਹਨ: ਹੇਠਲੀ ਬਾਈਟ ਪਹਿਲਾਂ ਆਉਂਦੀ ਹੈ, ਇਸ ਲਈ 01 00 ਦਾ ਅਰਥ 1 ਹੈ।
| ਬਾਈਟਾਂ | ਫੀਲਡ | ਅਰਥ |
|---|---|---|
| ਹੈੱਡਰ ਡੀਕੋਡਰ ਨੂੰ ਦੱਸਦਾ ਹੈ ਕਿ ਇਹ GIF ਹੈ ਅਤੇ ਫਾਰਮੈਟ ਦੇ ਕਿਹੜੇ ਵਰਜਨ ਦੀ ਉਮੀਦ ਕਰਨੀ ਹੈ। | ||
| 47 49 46 | ਸਿਗਨੇਚਰ | ASCII ਅੱਖਰ “GIF”। ਹਰ GIF ਫਾਈਲ ਇਨ੍ਹਾਂ ਨਾਲ ਸ਼ੁਰੂ ਹੁੰਦੀ ਹੈ। |
| 38 39 61 | ਵਰਜਨ | “89a”। ਪਾਰਦਰਸ਼ਤਾ ਲਈ 89a ਲੋੜੀਂਦਾ ਹੈ; 87a ਵਿੱਚ ਗ੍ਰਾਫਿਕ ਕੰਟਰੋਲ ਐਕਸਟੈਂਸ਼ਨ ਨਹੀਂ ਹੁੰਦੀ। |
| ਲਾਜੀਕਲ ਸਕ੍ਰੀਨ ਡਿਸਕ੍ਰਿਪਟਰ ਕੈਨਵਸ ਦਾ ਆਕਾਰ ਅਤੇ ਉਸਦੀ ਕਲਰ ਟੇਬਲ ਦੀ ਸੈਟਿੰਗ। | ||
| 01 00 | ਕੈਨਵਸ ਦੀ ਚੌੜਾਈ | 1 px। |
| 01 00 | ਕੈਨਵਸ ਦੀ ਉਚਾਈ | 1 px। |
| 80 | ਪੈਕਡ ਫਲੈਗ | ਇੱਕ ਬਾਈਟ ਵਿੱਚ ਚਾਰ ਸੈਟਿੰਗਾਂ। ਸਭ ਤੋਂ ਉੱਪਰਲਾ ਬਿੱਟ ਦੱਸਦਾ ਹੈ ਕਿ ਅੱਗੇ ਗਲੋਬਲ ਕਲਰ ਟੇਬਲ ਹੈ; ਆਖਰੀ ਤਿੰਨ ਬਿੱਟ ਉਸਦਾ ਆਕਾਰ ਦੱਸਦੇ ਹਨ। |
| 00 | ਬੈਕਗ੍ਰਾਊਂਡ ਕਲਰ ਇੰਡੈਕਸ | ਪੈਲੇਟ ਦੀ ਐਂਟਰੀ 0। ਬ੍ਰਾਊਜ਼ਰ ਇਸਨੂੰ ਅਣਡਿੱਠਾ ਕਰਦੇ ਹਨ ਅਤੇ ਚਿੱਤਰ ਦੇ ਪਿੱਛੇ ਜੋ ਹੈ ਉਹੀ ਵਿਖਾਉਂਦੇ ਹਨ। |
| 00 | ਪਿਕਸਲ ਆਸਪੈਕਟ ਰੇਸ਼ੋ | 0 ਦਾ ਅਰਥ ਹੈ ਵਰਗਾਕਾਰ ਪਿਕਸਲ, ਬਿਨਾਂ ਕਿਸੇ ਸੁਧਾਰ ਦੇ। |
| ਗਲੋਬਲ ਕਲਰ ਟੇਬਲ ਪੈਲੇਟ। ਪਿਕਸਲ ਰੰਗ ਦੀ ਥਾਂ ਇਸ ਸੂਚੀ ਦਾ ਇੰਡੈਕਸ ਸਟੋਰ ਕਰਦੇ ਹਨ। | ||
| FF FF FF | ਪੈਲੇਟ ਐਂਟਰੀ | ਲਾਲ, ਹਰਾ ਅਤੇ ਨੀਲਾ, ਹਰੇਕ ਲਈ ਇੱਕ ਬਾਈਟ: #ffffff। ਦੋ ਐਂਟਰੀਆਂ ਸਭ ਤੋਂ ਛੋਟੀ ਟੇਬਲ ਹੈ ਜੋ GIF ਵਿੱਚ ਹੋ ਸਕਦੀ ਹੈ। |
| 00 00 00 | ਪੈਲੇਟ ਐਂਟਰੀ | ਲਾਲ, ਹਰਾ ਅਤੇ ਨੀਲਾ, ਹਰੇਕ ਲਈ ਇੱਕ ਬਾਈਟ: #000000। ਦੋ ਐਂਟਰੀਆਂ ਸਭ ਤੋਂ ਛੋਟੀ ਟੇਬਲ ਹੈ ਜੋ GIF ਵਿੱਚ ਹੋ ਸਕਦੀ ਹੈ। |
| ਗ੍ਰਾਫਿਕ ਕੰਟਰੋਲ ਐਕਸਟੈਂਸ਼ਨ GIF89a ਵਿੱਚ ਜੋੜਿਆ ਗਿਆ ਵਿਕਲਪਿਕ ਬਲਾਕ। ਇੱਥੇ ਇਹ ਪੈਲੇਟ ਦੀ ਐਂਟਰੀ 0 ਨੂੰ ਪਾਰਦਰਸ਼ੀ ਬਣਾਉਂਦਾ ਹੈ। | ||
| 21 | ਐਕਸਟੈਂਸ਼ਨ ਇੰਟ੍ਰੋਡਿਊਸਰ | 0x21 (“!”) ਐਕਸਟੈਂਸ਼ਨ ਬਲਾਕ ਦੀ ਸ਼ੁਰੂਆਤ ਦਾ ਐਲਾਨ ਕਰਦਾ ਹੈ। |
| F9 | ਗ੍ਰਾਫਿਕ ਕੰਟਰੋਲ ਲੇਬਲ | 0xF9 ਦੱਸਦਾ ਹੈ ਕਿ ਇਹ ਐਕਸਟੈਂਸ਼ਨ ਗ੍ਰਾਫਿਕ ਕੰਟਰੋਲ ਐਕਸਟੈਂਸ਼ਨ ਹੈ। |
| 04 | ਬਲਾਕ ਦਾ ਆਕਾਰ | ਅੱਗੇ ਸੈਟਿੰਗਾਂ ਦੀਆਂ 4 ਬਾਈਟਾਂ ਹਨ। |
| 01 | ਪੈਕਡ ਫਲੈਗ | ਸਭ ਤੋਂ ਹੇਠਲਾ ਬਿੱਟ ਪਾਰਦਰਸ਼ਤਾ ਫਲੈਗ ਹੈ। ਇਹ ਚਾਲੂ ਹੈ, ਇਸ ਲਈ ਹੇਠਾਂ ਦਿੱਤਾ ਪਾਰਦਰਸ਼ੀ ਇੰਡੈਕਸ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। |
| 00 00 | ਦੇਰੀ | ਸਕਿੰਟ ਦੇ 0 ਸੌਵੇਂ ਹਿੱਸੇ। ਇਹ ਸਿਰਫ਼ ਐਨੀਮੇਸ਼ਨਾਂ ਲਈ ਮਾਇਨੇ ਰੱਖਦਾ ਹੈ। |
| 00 | ਪਾਰਦਰਸ਼ੀ ਰੰਗ ਦਾ ਇੰਡੈਕਸ | ਪੈਲੇਟ ਦੀ ਐਂਟਰੀ 0 ਪੂਰੀ ਤਰ੍ਹਾਂ ਪਾਰਦਰਸ਼ੀ ਬਣਾਈ ਜਾਂਦੀ ਹੈ। |
| 00 | ਬਲਾਕ ਟਰਮੀਨੇਟਰ | ਜ਼ੀਰੋ ਲੰਬਾਈ ਵਾਲਾ ਸਬ-ਬਲਾਕ, ਜੋ ਬਲਾਕ ਨੂੰ ਬੰਦ ਕਰਦਾ ਹੈ। |
| ਇਮੇਜ ਡਿਸਕ੍ਰਿਪਟਰ ਚਿੱਤਰ ਕੈਨਵਸ ਉੱਤੇ ਕਿੱਥੇ ਹੈ ਅਤੇ ਕਿੰਨਾ ਵੱਡਾ ਹੈ। | ||
| 2C | ਇਮੇਜ ਸੈਪਰੇਟਰ | 0x2C (“,”) ਇੱਕ ਚਿੱਤਰ ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ। |
| 00 00 | ਖੱਬਾ | ਚਿੱਤਰ ਕੈਨਵਸ ਦੇ ਖੱਬੇ ਕਿਨਾਰੇ ਤੋਂ 0 px ’ਤੇ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ। |
| 00 00 | ਉੱਪਰ | ਚਿੱਤਰ ਕੈਨਵਸ ਦੇ ਉੱਪਰਲੇ ਕਿਨਾਰੇ ਤੋਂ 0 px ’ਤੇ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ। |
| 01 00 | ਚਿੱਤਰ ਦੀ ਚੌੜਾਈ | 1 px। |
| 01 00 | ਚਿੱਤਰ ਦੀ ਉਚਾਈ | 1 px। |
| 00 | ਪੈਕਡ ਫਲੈਗ | ਕੋਈ ਲੋਕਲ ਕਲਰ ਟੇਬਲ ਨਹੀਂ, ਇੰਟਰਲੇਸਡ ਨਹੀਂ। ਚਿੱਤਰ ਗਲੋਬਲ ਪੈਲੇਟ ਵਰਤਦਾ ਹੈ। |
| ਇਮੇਜ ਡਾਟਾ ਪਿਕਸਲ, ਜੋ LZW ਨਾਲ ਕੰਪ੍ਰੈੱਸ ਕਰਕੇ ਵੱਧ ਤੋਂ ਵੱਧ 255 ਬਾਈਟ ਦੇ ਸਬ-ਬਲਾਕਾਂ ਵਿੱਚ ਵੰਡੇ ਗਏ ਹਨ। | ||
| 02 | LZW ਘੱਟੋ-ਘੱਟ ਕੋਡ ਆਕਾਰ | 2, ਇਸ ਲਈ ਕੰਪ੍ਰੈੱਸਡ ਕੋਡ 3 ਬਿੱਟ ਚੌੜੇ ਸ਼ੁਰੂ ਹੁੰਦੇ ਹਨ। |
| 02 | ਸਬ-ਬਲਾਕ ਦਾ ਆਕਾਰ | ਅੱਗੇ ਕੰਪ੍ਰੈੱਸਡ ਡਾਟਾ ਦੀਆਂ 2 ਬਾਈਟਾਂ ਹਨ। |
| 44 01 | ਕੰਪ੍ਰੈੱਸਡ ਪਿਕਸਲ | LZW ਕੋਡ ਸਭ ਤੋਂ ਹੇਠਲੇ ਬਿੱਟ ਤੋਂ ਉੱਪਰ ਵੱਲ ਪੈਕ ਕੀਤੇ ਗਏ ਹਨ। ਹੇਠਾਂ ਵੇਖੋ ਕਿ ਇਹ ਕਿਵੇਂ ਡੀਕੋਡ ਹੁੰਦੇ ਹਨ। |
| 00 | ਬਲਾਕ ਟਰਮੀਨੇਟਰ | ਜ਼ੀਰੋ ਲੰਬਾਈ ਵਾਲਾ ਸਬ-ਬਲਾਕ, ਜੋ ਬਲਾਕ ਨੂੰ ਬੰਦ ਕਰਦਾ ਹੈ। |
| ਟ੍ਰੇਲਰ ਇੱਕ ਬਾਈਟ ਜੋ ਫਾਈਲ ਦੇ ਅੰਤ ਨੂੰ ਦਰਸਾਉਂਦੀ ਹੈ। | ||
| 3B | ਟ੍ਰੇਲਰ | 0x3B (“;”) ਫਾਈਲ ਨੂੰ ਖਤਮ ਕਰਦਾ ਹੈ। |
ਪੈਕਡ ਬਾਈਟਾਂ ਦੇ ਅੰਦਰ
ਤਿੰਨ ਬਾਈਟਾਂ ਵਿੱਚੋਂ ਹਰ ਇੱਕ ਕਈ ਛੋਟੀਆਂ ਸੈਟਿੰਗਾਂ ਸਟੋਰ ਕਰਦੀ ਹੈ। ਬਿੱਟ 7 ਸਭ ਤੋਂ ਖੱਬੇ ਵਾਲਾ ਹੈ।
0x800x010x00ਦੋ ਬਾਈਟਾਂ ਵਿੱਚ ਇੱਕ ਪਿਕਸਲ ਕਿਵੇਂ ਸਮਾਉਂਦਾ ਹੈ
ਘੱਟੋ-ਘੱਟ ਕੋਡ ਆਕਾਰ 2 ਹੋਣ ’ਤੇ ਡੀਕੋਡਰ 3-ਬਿੱਟ ਕੋਡ ਪੜ੍ਹਦਾ ਹੈ। ਕੋਡ 4 ਟੇਬਲ ਨੂੰ ਸਾਫ਼ ਕਰਦਾ ਹੈ, ਕੋਡ 5 ਚਿੱਤਰ ਖਤਮ ਕਰਦਾ ਹੈ, ਅਤੇ ਕੋਡ 0 ਤੋਂ 3 ਪੈਲੇਟ ਐਂਟਰੀਆਂ ਹਨ। ਬਾਈਟਾਂ 44 01 ਸਭ ਤੋਂ ਹੇਠਲੇ ਬਿੱਟ ਤੋਂ ਉੱਪਰ ਵੱਲ ਪੜ੍ਹੀਆਂ ਜਾਂਦੀਆਂ ਹਨ:
0x44 010001000x01 00000001
- 001100 = 4ਕਲੀਅਰ: ਨਵੀਂ ਟੇਬਲ ਨਾਲ ਸ਼ੁਰੂ ਕਰੋ
- 000000 = 0ਪਿਕਸਲ: ਪੈਲੇਟ ਐਂਟਰੀ 0
- 101101 = 5ਚਿੱਤਰ ਦਾ ਅੰਤ
- 0000000 ਅਣਵਰਤੇ ਪੈਡਿੰਗ ਬਿੱਟ
ਵੱਡੇ ਚਿੱਤਰ ਵੀ ਇਹੀ ਤਰੀਕਾ ਵਰਤਦੇ ਹਨ: ਹਰ ਨਵਾਂ ਕੋਡ ਪਿਛਲੇ ਨਾਲੋਂ ਇੱਕ ਪਿਕਸਲ ਲੰਬੀ ਲੜੀ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ, ਇਸ ਲਈ 1000×1000 ਦੀ ਪਾਰਦਰਸ਼ੀ GIF ਸਿਰਫ਼ 1,743 ਬਾਈਟ ਲੈਂਦੀ ਹੈ।
ਕੀ ਇਹ ਹੋਰ ਛੋਟੀ ਹੋ ਸਕਦੀ ਹੈ?
ਹਾਂ, ਜੇ ਤੁਸੀਂ ਉਹ ਹਿੱਸੇ ਹਟਾ ਦਿਓ ਜਿਨ੍ਹਾਂ ਦੀ ਗ਼ੈਰਮੌਜੂਦਗੀ ਡੀਕੋਡਰ ਬਰਦਾਸ਼ਤ ਕਰ ਲੈਂਦੇ ਹਨ। ਅਸੀਂ ਹਰ ਵੇਰੀਐਂਟ ਤਿੰਨ ਬ੍ਰਾਊਜ਼ਰ ਇੰਜਣਾਂ ਅਤੇ Pillow ਨੂੰ ਦਿੱਤਾ ਅਤੇ ਜੋ ਉਨ੍ਹਾਂ ਨੇ ਬਣਾਇਆ ਉਹ ਦਰਜ ਕੀਤਾ।
| ਆਕਾਰ | ਵੇਰੀਐਂਟ | Chromium | Firefox | WebKit | Pillow |
|---|---|---|---|---|---|
| 43 | ਇਸ ਪੰਨੇ ਦੀ ਮਿਆਰੀ ਫਾਈਲ। | ਪਾਰਦਰਸ਼ੀ | ਪਾਰਦਰਸ਼ੀ | ਪਾਰਦਰਸ਼ੀ | ਪਾਰਦਰਸ਼ੀ |
| 42 | ਟ੍ਰੇਲਰ ਬਾਈਟ ਨਹੀਂ। ਡੀਕੋਡਰ ਉਂਝ ਵੀ ਡਾਟਾ ਦੇ ਅੰਤ ’ਤੇ ਰੁਕ ਜਾਂਦੇ ਹਨ। | ਪਾਰਦਰਸ਼ੀ | ਪਾਰਦਰਸ਼ੀ | ਪਾਰਦਰਸ਼ੀ | ਪਾਰਦਰਸ਼ੀ |
| 37 | ਕੋਈ ਪੈਲੇਟ ਹੀ ਨਹੀਂ। ਫਿਰ ਵੀ ਵੈਧ: ਸਪੈਸੀਫਿਕੇਸ਼ਨ ਡੀਕੋਡਰਾਂ ਨੂੰ ਆਪਣਾ ਪੈਲੇਟ ਵਰਤਣ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦੀ ਹੈ, ਅਤੇ ਇੰਡੈਕਸ 0 ਉਂਝ ਵੀ ਪਾਰਦਰਸ਼ੀ ਹੈ। | ਪਾਰਦਰਸ਼ੀ | ਪਾਰਦਰਸ਼ੀ | ਪਾਰਦਰਸ਼ੀ | ਪਾਰਦਰਸ਼ੀ |
| 36 | ਨਾ ਪੈਲੇਟ, ਨਾ ਟ੍ਰੇਲਰ। | ਪਾਰਦਰਸ਼ੀ | ਪਾਰਦਰਸ਼ੀ | ਪਾਰਦਰਸ਼ੀ | ਪਾਰਦਰਸ਼ੀ |
| 35 | ਪਾਰਦਰਸ਼ਤਾ ਬਲਾਕ ਨਹੀਂ: ਪਿਕਸਲ ਪੈਲੇਟ ਦੇ ਰੰਗ 0, ਯਾਨੀ ਚਿੱਟੇ, ਵਿੱਚ ਬਣਦਾ ਹੈ। | ਚਿੱਟਾ | ਚਿੱਟਾ | ਚਿੱਟਾ | ਚਿੱਟਾ |
| 35 | 1987 ਦਾ ਫਾਰਮੈਟ। ਇਸ ਵਿੱਚ ਕਿਸੇ ਰੰਗ ਨੂੰ ਪਾਰਦਰਸ਼ੀ ਨਿਸ਼ਾਨਬੱਧ ਕਰਨ ਦਾ ਕੋਈ ਤਰੀਕਾ ਨਹੀਂ। | ਚਿੱਟਾ | ਚਿੱਟਾ | ਚਿੱਟਾ | ਚਿੱਟਾ |
| 34 | ਪਾਰਦਰਸ਼ਤਾ ਬਲਾਕ ਹੈ, ਪਰ ਕੰਪ੍ਰੈੱਸਡ ਪਿਕਸਲ ਨਹੀਂ। | ਪਾਰਦਰਸ਼ੀ | ਪਾਰਦਰਸ਼ੀ | ਪਾਰਦਰਸ਼ੀ | ਗਲਤੀ |
| 33 | ਉਹੀ, ਪਰ ਟ੍ਰੇਲਰ ਤੋਂ ਬਿਨਾਂ। | ਪਾਰਦਰਸ਼ੀ | ਪਾਰਦਰਸ਼ੀ | ਪਾਰਦਰਸ਼ੀ | ਗਲਤੀ |
| 29 | ਨਾ ਪੈਲੇਟ, ਨਾ ਪਾਰਦਰਸ਼ਤਾ। ਹਰ ਇੰਜਣ ਆਪਣਾ ਰੰਗ ਖੁਦ ਚੁਣਦਾ ਹੈ। | ਕਾਲਾ | ਚਿੱਟਾ | ਪਾਰਦਰਸ਼ੀ | ਕਾਲਾ |
| 26 | ਅਜਿਹਾ ਚਿੱਤਰ ਜਿਸ ਵਿੱਚ ਕੋਈ ਕੰਪ੍ਰੈੱਸਡ ਡਾਟਾ ਹੀ ਨਹੀਂ। | ਪਾਰਦਰਸ਼ੀ | ਪਾਰਦਰਸ਼ੀ | ਪਾਰਦਰਸ਼ੀ | ਗਲਤੀ |
| 14 | ਸਿਰਫ਼ ਹੈੱਡਰ, ਕੈਨਵਸ ਦਾ ਆਕਾਰ ਅਤੇ ਟ੍ਰੇਲਰ। ਇਸ ਵਿੱਚ ਕੋਈ ਚਿੱਤਰ ਨਹੀਂ। | ਪਾਰਦਰਸ਼ੀ | ਗਲਤੀ | ਪਾਰਦਰਸ਼ੀ | ਗਲਤੀ |
ਜਦੋਂ ਹਰ ਥਾਂ ਚੱਲਣਾ ਲਾਜ਼ਮੀ ਹੋਵੇ ਤਾਂ 43 ਬਾਈਟ ਵਰਤੋ। 37 ਬਾਈਟ ਵੀ ਵੈਧ GIF ਹੈ ਅਤੇ ਸਾਡੇ ਜਾਂਚੇ ਹਰ ਇੰਜਣ ਵਿੱਚ ਪਾਰਦਰਸ਼ੀ ਰਹੀ। ਇਸ ਤੋਂ ਘੱਟ ’ਤੇ ਤੁਸੀਂ ਡੀਕੋਡਰ ਦੀ ਨਰਮੀ ’ਤੇ ਨਿਰਭਰ ਹੋ, ਅਤੇ 29 ਬਾਈਟ ਦੀ ਫਾਈਲ ਵਿਖਾਉਂਦੀ ਹੈ ਕਿ ਇੰਜਣ ਕਿਵੇਂ ਅਸਹਿਮਤ ਹੁੰਦੇ ਹਨ।
23 ਸਤੰਬਰ 2026 ਨੂੰ Chromium 153.0.8010.12, Firefox 155.0, WebKit 26.6, Pillow 12.2.0 ਨਾਲ ਜਾਂਚਿਆ ਗਿਆ।
ਕਿਸੇ ਵੀ ਆਕਾਰ ਦੀ ਬਣਾਓ
ਪਾਰਦਰਸ਼ੀ ਜਾਂ ਇੱਕੋ ਰੰਗ, 1×1 ਤੋਂ 65535×65535 ਤੱਕ। ਇਹ ਤੁਹਾਡੇ ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਬਣਦੀ ਹੈ; ਕੁਝ ਵੀ ਅੱਪਲੋਡ ਨਹੀਂ ਹੁੰਦਾ।
ਹੌਟਲਿੰਕ ਕਰੋ
ਕਿਸੇ ਵੀ ਸਾਈਟ, ਈਮੇਲ ਜਾਂ ਐਪ ਤੋਂ ਇਨ੍ਹਾਂ ਫਾਈਲਾਂ ਨੂੰ ਸਿੱਧਾ ਲਿੰਕ ਕਰੋ। ਇਹ ਲੰਬੇ ਕੈਸ਼ ਸਮੇਂ ਨਾਲ Cloudflare ਦੇ ਐਜ ਤੋਂ ਸਰਵ ਹੁੰਦੀਆਂ ਹਨ, ਅਤੇ CORS ਸਭ ਲਈ ਖੁੱਲ੍ਹਾ ਹੈ।
- 43 ਬਾਈਟ ਦੀ ਫਾਈਲ
https://emptygif.com/1x1.gif - ਕੋਈ ਵੀ ਆਕਾਰ, ਪਾਰਦਰਸ਼ੀ
https://emptygif.com/px/300x250.gif - ਕੋਈ ਵੀ ਆਕਾਰ, ਇੱਕੋ ਰੰਗ
https://emptygif.com/px/300x250/ff5a1f.gif - JSON API: ਆਕਾਰ, base64 ਅਤੇ data URI
https://emptygif.com/api/gif?w=300&h=250 - ਸਾਰੇ ਸਨਿੱਪਟ JSON ਵਜੋਂ
https://emptygif.com/snippets.json - AI ਏਜੰਟਾਂ ਲਈ ਸਾਰ
https://emptygif.com/llms.txt
ਰਿਸਪਾਂਸ ਹੈੱਡਰ
HTTP/2 200
content-type: image/gif
content-length: 43
cache-control: public, max-age=31536000, immutable
access-control-allow-origin: *
cross-origin-resource-policy: cross-origin
timing-allow-origin: *ਉਦਾਹਰਨ
<img src="https://emptygif.com/1x1.gif" width="1" height="1" alt="">
ਬਣਾਏ ਗਏ ਆਕਾਰ ਹਰ ਪਾਸੇ 4096 px ਤੱਕ ਜਾਂਦੇ ਹਨ। ਜੇ ਤੁਹਾਡਾ ਟ੍ਰੈਫਿਕ ਭਾਰੀ ਹੈ ਤਾਂ ਕਿਰਪਾ ਕਰਕੇ ਫਾਈਲ ਡਾਊਨਲੋਡ ਕਰਕੇ ਖੁਦ ਹੋਸਟ ਕਰੋ।
ਆਪਣੇ ਸਟੈਕ ਤੋਂ ਸਰਵ ਕਰੋ
ਚਲਾਉਣ ਲਈ ਤਿਆਰ 173 ਸਨਿੱਪਟ। ਆਪਣਾ ਚੁਣੋ: ਹਰ ਇੱਕ ਤੁਹਾਡੇ ਚੁਣੇ ਪਾਥ ’ਤੇ image/gif ਰਿਸਪਾਂਸ ਦਿੰਦਾ ਹੈ। ਜੇ ਤੁਸੀਂ ਉੱਪਰ ਆਕਾਰ ਜਾਂ ਰੰਗ ਬਦਲਿਆ ਹੈ, ਤਾਂ ਸਨਿੱਪਟ ਉਹੀ GIF ਵਰਤਦੇ ਹਨ।
JavaScript & TypeScript
Edge & serverless
- Cloudflare Workers
- Cloudflare Workers (Rust, workers-rs)
- Cloudflare Pages Functions
- Deno Deploy (deno serve)
- Vercel Functions
- Netlify Functions
- Netlify Edge Functions
- AWS Lambda (Node.js)
- AWS Lambda (Python)
- AWS Lambda (Go)
- AWS Lambda (Rust, lambda_http)
- AWS Lambda@Edge (CloudFront)
- Google Cloud Run functions (Node.js)
- Google Cloud Run functions (Python)
- Firebase Cloud Functions + Hosting
- Azure Functions (Node.js v4 model)
- Fastly Compute (JavaScript)
Python
JVM
PHP
Elixir, Erlang & Gleam
Functional languages
C, C++ & systems languages
Swift, Dart & other languages
Web servers & proxies
Command line & one-liners
Express JavaScript
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);
ਅਸੀਂ ਇਹ ਸਨਿੱਪਟ ਚਲਾਇਆ ਅਤੇ ਇਸ ਵੱਲੋਂ ਵਾਪਸ ਕੀਤੀਆਂ ਬਾਈਟਾਂ ਦੀ ਤੁਲਨਾ ਕੀਤੀ। ਪੰਨਾ ਖੋਲ੍ਹੋ
ਇਹ ਕਿਸ ਕੰਮ ਆਉਂਦੀ ਹੈ
- ਟ੍ਰੈਕਿੰਗ ਪਿਕਸਲ ਅਤੇ ਬੀਕਨ: ਸਰਵਰ ਬੇਨਤੀ ਨੂੰ ਲੌਗ ਕਰਦਾ ਹੈ ਅਤੇ ਸਭ ਤੋਂ ਛੋਟੇ ਵੈਧ ਚਿੱਤਰ ਨਾਲ ਜਵਾਬ ਦਿੰਦਾ ਹੈ।
- lazy-load ਹੋਣ ਵਾਲੇ ਚਿੱਤਰਾਂ ਲਈ ਪਲੇਸਹੋਲਡਰ, ਤਾਂ ਜੋ ਅਸਲ ਸਰੋਤ ਆਉਣ ਤੋਂ ਪਹਿਲਾਂ ਵੀ
imgਟੈਗ ਵੈਧ ਰਹੇ। - HTML ਈਮੇਲ ਵਿੱਚ ਨਿਸ਼ਚਿਤ ਆਕਾਰ ਦੇ ਸਪੇਸਰ, ਜਿੱਥੇ CSS ਸਹਾਇਤਾ ਅਧੂਰੀ ਹੈ।
- ਟੈਸਟ ਅਤੇ mock, ਜਿਨ੍ਹਾਂ ਨੂੰ ਕੋਈ ਚਿੱਤਰ ਫਾਈਲ ਨਾਲ ਰੱਖੇ ਬਿਨਾਂ ਅਸਲ ਚਿੱਤਰ ਚਾਹੀਦਾ ਹੈ।
ਟ੍ਰੈਕਿੰਗ ਪਿਕਸਲ ਜਿੰਨੇ ਭਰੋਸੇਯੋਗ ਲੱਗਦੇ ਹਨ, ਓਨੇ ਨਹੀਂ
ਜਦੋਂ Mail Privacy Protection ਚਾਲੂ ਹੋਵੇ, Apple Mail ਰਿਮੋਟ ਚਿੱਤਰਾਂ ਨੂੰ ਪ੍ਰੌਕਸੀ ਰਾਹੀਂ ਪਹਿਲਾਂ ਹੀ ਲੋਡ ਕਰ ਲੈਂਦਾ ਹੈ, ਇਸ ਲਈ ਹੋ ਸਕਦਾ ਹੈ ਕੋਈ “ਓਪਨ” ਕਿਸੇ ਇਨਸਾਨ ਨੇ ਕੀਤਾ ਹੀ ਨਾ ਹੋਵੇ। Gmail ਵੀ ਚਿੱਤਰ ਆਪਣੀ ਪ੍ਰੌਕਸੀ ਰਾਹੀਂ ਲਿਆਉਂਦਾ ਅਤੇ ਕੈਸ਼ ਕਰਦਾ ਹੈ। ਕਈ ਕਲਾਇੰਟ ਡਿਫਾਲਟ ਤੌਰ ’ਤੇ ਰਿਮੋਟ ਚਿੱਤਰ ਬਲੌਕ ਕਰਦੇ ਹਨ। ਪੰਨੇ ਦੇ ਐਨਾਲਿਟਿਕਸ ਲਈ navigator.sendBeacon() ਜਾਂ 204 No Content ਰਿਸਪਾਂਸ ਅਕਸਰ ਚਿੱਤਰ ਨਾਲੋਂ ਬਿਹਤਰ ਰਹਿੰਦਾ ਹੈ।
ਸਵਾਲ
- ਜਦੋਂ ਇਸ ਵਿੱਚ ਪਿਕਸਲ ਹੈ ਤਾਂ ਇਸਨੂੰ ਖਾਲੀ ਕਿਉਂ ਕਹਿੰਦੇ ਹਨ?
- GIF ਵਿੱਚ ਘੱਟੋ-ਘੱਟ ਇੱਕ ਪਿਕਸਲ ਹੋਣਾ ਜ਼ਰੂਰੀ ਹੈ। ਇਹ ਫਾਈਲ 1×1 ਦੀ ਹੈ ਅਤੇ ਇਸਦਾ ਇੱਕੋ-ਇੱਕ ਰੰਗ ਪਾਰਦਰਸ਼ੀ ਨਿਸ਼ਾਨਬੱਧ ਹੈ, ਇਸ ਲਈ ਕੁਝ ਵੀ ਨਹੀਂ ਦਿਸਦਾ।
- ਕੀ 43 ਬਾਈਟ ਦੀ ਫਾਈਲ ਵੈਧ ਹੈ?
- ਹਾਂ। ਇਹ GIF89a ਸਪੈਸੀਫਿਕੇਸ਼ਨ ਦੀ ਪੂਰੀ ਪਾਲਣਾ ਕਰਦੀ ਹੈ, ਅਤੇ ਉੱਪਰਲੀ ਟੇਬਲ ਦਾ ਹਰ ਇੰਜਣ ਇਸਨੂੰ ਪਾਰਦਰਸ਼ੀ ਬਣਾਉਂਦਾ ਹੈ।
- PNG ਜਾਂ WebP ਦੀ ਥਾਂ GIF ਕਿਉਂ?
- ਇਹ ਸਭ ਤੋਂ ਛੋਟੀ ਪਾਰਦਰਸ਼ੀ PNG ਤੋਂ ਵੀ ਛੋਟੀ ਹੈ, ਅਤੇ ਪਿਛਲੇ 35 ਸਾਲਾਂ ਦਾ ਹਰ ਬ੍ਰਾਊਜ਼ਰ, ਈਮੇਲ ਕਲਾਇੰਟ ਅਤੇ ਇਮੇਜ ਲਾਇਬ੍ਰੇਰੀ ਇਸਨੂੰ ਪੜ੍ਹ ਸਕਦੀ ਹੈ।
- ਮੈਂ data URI ਵਰਤਾਂ ਜਾਂ ਫਾਈਲ?
- data URI ਇੱਕ ਬੇਨਤੀ ਬਚਾਉਂਦਾ ਹੈ ਅਤੇ ਪਲੇਸਹੋਲਡਰਾਂ ਅਤੇ CSS ਲਈ ਢੁਕਵਾਂ ਹੈ। ਜਦੋਂ ਬੇਨਤੀ ਆਪਣੇ ਆਪ ਵਿੱਚ ਮਕਸਦ ਹੋਵੇ, ਜਿਵੇਂ ਟ੍ਰੈਕਿੰਗ ਪਿਕਸਲਾਂ ਵਿੱਚ, ਤਾਂ ਫਾਈਲ ਜਾਂ ਐਂਡਪੁਆਇੰਟ ਚਾਹੀਦਾ ਹੈ।
- ਮੈਨੂੰ ਕਿਹੜਾ Content-Type ਭੇਜਣਾ ਚਾਹੀਦਾ ਹੈ?
image/gif। ਜੇ ਹਰ ਬੇਨਤੀ ਦਾ ਤੁਹਾਡੇ ਸਰਵਰ ਤੱਕ ਪਹੁੰਚਣਾ ਜ਼ਰੂਰੀ ਹੈ, ਤਾਂCache-Control: no-storeਜੋੜੋ।