TIFF to GIF converter
Convert TIFF images to GIF format
GIF is an indexed format, so this conversion has to throw colours away. After the TIFF parser rebuilds your scan in a canvas, a GIF89a writer in this page maps every pixel to the nearest entry in a fixed 216-colour web-safe cube, packs the resulting indices with LZW and emits one frame. There is no dithering pass and no adaptive palette, which means smooth gradients band visibly while flat artwork, diagrams and line drawings survive well. Expect a single still image: a multi-page TIFF does not become an animation here.
Key facts about TIFF to GIF converter
| Palette | A fixed 6x6x6 web-safe cube: channel values of 0, 51, 102, 153, 204 and 255 only, giving 216 usable colours. |
|---|---|
| Colour matching | Nearest neighbour by squared RGB distance, with no dithering, so gradients posterise into visible bands. |
| Adaptive palette | Not available. The writer never analyses your image to build a custom 256-colour table for it. |
| Transparency | No graphic control extension is written, so GIF transparency is off and alpha areas resolve to black. |
| Animation | One frame, no loop block. Page one of a multi-page TIFF is all that is read and all that is written. |
| Compression | LZW with an 8-bit minimum code size, table reset at 4,096 codes, data split into 255-byte sub-blocks. |
| Typical size delta | A 5.93 MB uncompressed 1920x1080 photo scan lands roughly between 600 KB and 1.4 MB, and looks banded. |
| Flat artwork | Logos, charts and scanned line art often fall below 100 KB because LZW finds long runs of one index. |
| Dimension ceiling | Width and height are 16-bit fields, so keep the image under 65,535 pixels on each side. |
| Source requirement | Uncompressed 8-bit baseline TIFF only; compressed scans are refused before any colour reduction happens. |
| Opens natively in | Every browser and chat client, Windows Photos, macOS Preview, and every image editor made since the nineties. |
What happens to your file
All of it happens on your device. The TIFF is read with the File API, decoded by this page own parser, and drawn into a canvas whose pixels are pulled back with getImageData. The palette match, the LZW encoder and the GIF89a block assembly are plain JavaScript running in the tab, and the finished byte arrays are joined into a Blob for download. No upload endpoint exists for this tool, so there is no server copy to expire, and nothing persists after a reload.
About this tool
- 1
Add your scan
Drop a .tif or .tiff file onto the panel, or click it to open the picker. Several files can be queued.
- 2
Shrink first if it is large
Use a size preset. The nearest-colour search runs per pixel, so a smaller image converts noticeably faster.
- 3
Convert
The writer indexes every pixel against the 216-colour cube, LZW-packs the result and emits one GIF89a frame.
- 4
Check the banding
Open the preview before you commit. Photographic content shows the palette limit far more than flat art does.
- 5
Download
Save the .gif, or take a multi-file run as a ZIP built by the page itself.
| Input and output | Takes .tiff and .tif only (image/tiff) and returns .gif with the image/gif type; any other extension is refused before decoding. |
|---|---|
| Conversion path | TIFF to GIF runs in three steps: the page's own baseline parser reads the IFD and rebuilds the pixels, because no browser decodes TIFF; the pixels land on a 2D canvas in this tab; then getImageData feeds a palette mapper and an LZW encoder that live in the page. |
| Browser support | The TIFF side needs no browser support at all, only a baseline uncompressed source, because LZW, Deflate and JPEG-in-TIFF files stop with an error, while writing the GIF needs nothing from the browser, the encoder shipping inside the page. |
| Controls for this pair | No quality slider, GIF not being a lossy target here, so the max-dimension presets from 3840 down to 200 px are the only way to hold the GIF down in size against the TIFF. |
| Batch, caps and naming | Twenty TIFF files per run at 500 MB each; one result downloads as a single GIF, several as converted-gif-files.zip, zipped by JSZip 3.10 in page memory. |
| Device ceiling | The canvas caps it: past roughly 16,384 px a side Chromium refuses the bitmap and iPhone Safari gives up sooner, so an oversized TIFF fails before any GIF bytes exist. |
- Pick this target for diagrams, scanned line art, logos and screenshots. For a photographic scan, PNG or WebP will be both smaller and cleaner.
- There is no dithering, so a sky or a studio backdrop turns into visible steps. Adding a little grain in an editor beforehand can hide the bands.
- Colour matching cost grows with pixel count because each pixel is compared against all 216 palette entries. Downscale large scans before converting.
- If the source has transparency, composite it onto the background colour you want first. The writer has no transparent index to fall back on.
- An image whose colours already sit near the web-safe values, such as a chart exported from a spreadsheet, converts almost losslessly.
- Post a scanned diagram or schematic into an old forum, wiki or ticketing system whose uploader accepts GIF but not TIFF.
- Produce a small still frame from an archival scan for use in documentation where file size matters more than colour fidelity.
- Supply a legacy application or embedded display that reads indexed GIF frames and nothing more modern.
Related tools
View allNeed the opposite? Try GIF to TIFF
Works well with this4
Other GIF tools12
Updated