Initializing... drag & drop files here
Supports: JPG, JPEG, JFIF
This tutorial is for anyone who needs a .jpg, .jpeg, or .jfif photo in GIF form — usually because a forum, a CMS field, an email-signature builder, or an old uploader accepts nothing else. Two things surprise people: a single photo produces a static, single-frame GIF (one image contains no motion to preserve), and GIF's 256-colour ceiling visibly flattens the smooth gradients a JPEG holds. Upload several photos at once and the converter does something different — it assembles them into one animated GIF. Both paths are covered below, along with which settings actually change the result on each.
.jpg, .jpeg, and .jfif. Add one image for a still GIF, or several for an animated one..gif. Files upload over an encrypted connection, are processed on our servers, and are deleted automatically after a few hours — no sign-up, no watermark, never shared or made public.The number of files you add decides which pipeline runs, and that in turn decides which controls matter. This trips people up when a setting they carefully adjusted appears to do nothing.
| Control | Single photo (static GIF) | Several photos (animated GIF) |
|---|---|---|
| Colors / palette size (File Compression → Custom) | Sets the output palette | Not used — the encoder quantizes per frame |
| Dither checkbox (File Compression → Custom) | No effect; dithering is always applied | Not used |
| Image quality (%) (File Compression → Custom) | Not applied on this path | Sets the encoder quality target |
| Video Framerate | No effect — there is only one frame | Sets frame pacing (10 FPS default) |
| Image resolution (File Compression → Custom) | Applied | Applied |
| Combine? | Not relevant with one file | "Single animation" vs "Individual files" |
The GIF89a specification, published on 31 July 1990, caps a colour table at 256 entries — you raise 2 to the power of the size field plus one, and the field maxes out at 7. A JPEG can describe roughly 16.7 million colours, so every conversion has to throw most of them away and snap each pixel to the nearest surviving entry. That is what produces the hard stripes you see in skies, skin tones, and soft shadows. Leaving Colors on the original setting keeps the full 256 entries and looks closest to the source. Dropping to 64 or 32 is a file-size lever that suits logos, screenshots, and flat illustration far better than photography. Floyd–Steinberg dithering, which the still path always applies, pushes each pixel's quantization error into its neighbours so two palette colours visually blend into a third — it trades a fine grain for far less banding, which is a good deal on photographs and a poor one on crisp line art.
| Property | JPEG | GIF |
|---|---|---|
| Colour depth | 24-bit, roughly 16.7 million colours | 8-bit indexed, 256 colours maximum |
| Compression | Lossy DCT, tuned for photographs | Lossless LZW over an indexed palette |
| Transparency | None | One fully transparent palette index — no soft alpha |
| Animation | No | Yes, multiple frames with per-frame delay |
| Metadata | EXIF, including camera model and GPS | No standard EXIF block |
| Specification | ISO/IEC 10918-1 | GIF89a, 31 July 1990 |
| Best for | Photographs | Flat graphics, short loops, legacy uploaders |
No. Animation needs multiple frames and a single JPEG contains exactly one image, so the output is a static, single-frame GIF. If you want movement, upload several photos in one go and leave Combine? on "Single animation" — each photo then becomes a frame, paced by the Video Framerate setting.
Because GIF stores at most 256 colours in an indexed palette while your JPEG describes millions. Quantizing to that palette causes banding in gradients and small colour shifts everywhere else. Keeping the palette at its full size and letting the converter dither reduces the effect but cannot restore the missing colours — no GIF encoder can, since the limit is in the file format itself.
It makes no difference to a single-photo conversion: our still-image path always applies Floyd–Steinberg dithering, whether or not the checkbox is ticked. That is the right behaviour for photographs, where dithering hides banding. If you are converting flat artwork and specifically want no grain, GIF is a poor fit for the job — use JPG to PNG, which keeps hard edges exactly as drawn.
For a photograph, leave Colors on the original setting so the full 256-entry table is available. Reducing to 64 or 32 is a file-size decision, and it degrades photographic content noticeably while barely touching screenshots, logos, or line art. There is no setting that pushes a GIF past 256 colours in a single frame — the format's colour table field simply cannot express more.
A JPEG has no transparency to carry over, and GIF supports only a single fully transparent palette index rather than soft alpha edges, so partial transparency is not possible in either format. EXIF metadata — camera model, timestamps, GPS coordinates — is not preserved either, since GIF has no standard EXIF block. That is often a privacy advantage when posting a photo publicly.
Yes. A .jfif file is ordinary JPEG data under the extension Windows sometimes assigns to images saved from the web. It uploads and converts here exactly like .jpg or .jpeg, producing the same GIF. If you would rather normalise the extension first, JFIF to JPG does that in one step.
Every frame is stored as its own indexed image, so file size scales roughly with frame count times frame area. The two effective levers are resolution and frame count: scale the output down under Image resolution (File Compression → Custom), and use fewer source photos or a lower Video Framerate. If you already have an oversized GIF, Compress GIF reduces it further without re-running this conversion.
They are uploaded over an encrypted connection, converted on our servers, and deleted automatically after a few hours. There is no sign-up and no watermark, and files are never shared or made public. If GIF turns out to be the wrong destination for a photo you care about, JPG to WebP is usually the better modern choice — Google measures lossy WebP at 25-34% smaller than comparable JPEG at equivalent SSIM quality, with full colour rather than 256 entries.