Skip to content

JPEG to GIF converter

JPG → GIF quantizes a photo to 256 colours, so it is for legacy systems that only accept GIF, not for making something animated or smaller.

  • Converted with Image engine · input deleted within 24 h
  • Free: 5 conversions a day · 5 MB each
  • Higher limits →

From real runs

What you get — and what changes

  • Colour count Changed

    The JPEG's full colour range was reduced to an adaptive 256-entry palette; all 256 entries were used for the 1200×800 sample.

  • Gradients Changed

    A 200×100 patch of sky held 19 distinct colours in the JPEG and 17 in the GIF, with Floyd-Steinberg dithering hiding most of the banding.

  • Dimensions Kept

    1200×800 in, 1200×800 out; no resampling happens unless width or height is set.

  • File size Changed

    The 43,177-byte JPEG became a 72,884-byte GIF: LZW on an indexed image does not compete with JPEG on photographs.

  • Animation Kept

    The output is a single-frame GIF87a; there is nothing to animate in a still JPEG and no frame is invented.

  • EXIF Lost

    GIF has no EXIF block, so camera, date and GPS tags are dropped regardless of the stripMetadata setting.

  • Transparency Kept

    JPEG has no alpha, and the GIF is written fully opaque; no colour is reserved as transparent.

Sample conversions

Illustration-style JPEG

Input
sample.jpg, 1200×800 baseline JPEG, 43,177 bytes, flat shapes over a sky gradient.
Output
1200×800 GIF87a with a 256-colour palette, 72,884 bytes, in 45 ms; dithering kept the sky smooth at normal size.

Same file resized for a legacy CMS

Input
The same JPEG with {"width":400}.
Output
A 400×267 GIF a fraction of the size; the smaller image hides the palette limits better than the full-size one.

A real JPEG → GIF run

We converted our JPEG sample (42 KB) with Image engine on 2026-10-20. It took 150 ms and produced a 71 KB GIF file, 1.7× larger than the input. The engine raised 1 warning, listed below.

Input · sample.jpg · 42 KB

1200 × 800 px, baseline

Width
1,200
Height
800
Encoding
baseline

Output · sample.gif · 71 KB

1200 × 800 px, GIF87a

Width
1,200
Height
800
Encoding
GIF87a
  • Image metadata stripped from output.

Options and when to change them

width
Set it for thumbnails; GIF's 256 colours look better at small sizes.
height
Set it with width for a fixed box; leave one empty to keep the aspect ratio.
fit
Use cover to crop into a fixed frame for avatars; contain pads to fit.

Do it yourself

Pillow

bash
from PIL import Image

Image.open("in.jpg").convert("P", palette=Image.Palette.ADAPTIVE).save("out.gif")

convert() dithers by default; pass dither=Image.Dither.NONE for flat posterized output.

ImageMagick

bash
magick in.jpg -colors 256 out.gif

Add -dither None to disable dithering.

JPEG to GIF by API or MCP

The HTTP API and the MCP server run the exact engine this page uses (Image engine); the response carries the same warnings the web converter shows. Check support first with GET /api/v1/pairs?from=jpg&to=gif.

curl
curl -X POST https://filetypeconverters.com/api/v1/convert \
  -H "Authorization: Bearer $FTC_API_KEY" \
  -F "file=@input.jpg" -F "from=jpg" -F "to=gif" \
  -F 'options={"dpi":96}' \
  --output output.gif

Options this engine accepts for JPEG → GIF

KeyApplies toTypeDefault
dpiReading JPEGnumber96
widthWriting GIFnumber0
heightWriting GIFnumber0
fitWriting GIFcontain · cover · fillcontain
qualityWriting GIFnumber90
backgroundWriting GIFstring#ffffff
stripMetadataWriting GIFbooleantrue
API reference

When this is the wrong conversion

  • If you want a smaller file, JPG → WebP or JPG → AVIF wins by a wide margin; the GIF was larger than the JPEG.
  • If you want an animation, this route produces a still; assemble frames with ffmpeg or a GIF editor.
  • If the image needs transparency, convert to PNG or WebP; JPEG has no alpha to carry into the GIF.

JPEG to GIF questions

Why is my GIF bigger than the JPG?

JPEG compresses photographs by discarding detail the eye misses; GIF stores an indexed image with lossless LZW. On a 1200×800 photo-like picture that was 72,884 bytes of GIF against 43,177 of JPEG.

Does JPG → GIF make it animated?

No. A JPEG is one frame, and the GIF holds that one frame. Animation needs several source images combined in sequence.

Will colours look posterized?

Gradients are dithered into the 256-colour palette, which reads as slight grain rather than bands at normal viewing size. Skin tones and sunsets show it most; flat graphics show it least.