Cookies for analytics and advertising
We use cookies for analytics and advertising, both sent to Google. Refusing changes nothing you can see.Read the privacy page
Converting GIF to JXL re-encodes an old picture into JPEG XL, a format built for storing images rather than serving them. It is a reasonable move for a collection you are keeping, and a poor one for anything you need other people to open. The conversion runs in your browser.
Up to 100 files at once. Mixed formats are fine.
They convert one after another and download together as a ZIP.
GIF to JXL



JPEG XL’s recorded uses here are archival and photography, and its status is niche. That combination is the honest description: it is a technically strong format with a small installed base, which makes it a candidate for a private collection and a poor candidate for anything that leaves your machine.
That is the reverse of the case for AVIF, which exists to be delivered over the web to browsers that support it. If the reason you are converting these GIFs is page weight, this is the wrong page — the delivery formats are. If the reason is that a folder of 1990s graphics is sitting on a disk and you want it in something modern, read on.
JPEG XL was standardised in 2021 as ISO/IEC 18181, aimed squarely at photographs: up to 32 bits per channel, wide colour, high-quality lossy compression that degrades gracefully, and the ability to re-encode an existing JPEG losslessly and smaller. Almost all of its advantages are about continuous-tone imagery.
A GIF has no continuous tone. It is 8-bit indexed colour with at most 256 entries, and it was written that way years ago. Feeding it to a photographic codec is not wrong, but it exercises none of the strengths the format is chosen for, and the size result is closer to a coin toss than the format’s reputation would suggest.
The conversion offers a quality number from 1 to 100, defaulting to 82. There is no lossless checkbox, and the encoder is driven through the same interface every other lossy target on this site uses. What comes out is therefore a re-encoding: close to the source at high settings, not identical to it.
For an archive that distinction is the whole question. Storing a lossy re-encoding of a picture that was already reduced to 256 colours means two generations of loss on an object whose value is that it is the original. If the aim is preservation rather than tidiness, either raise the quality to the top of the range and accept a larger file, or use a format where the answer is not a setting at all.
PNG compresses losslessly, keeps an alpha channel, opens in literally everything, and was designed for exactly this material — flat colour, sharp edges, limited palettes. On a typical surviving GIF it will land close to the JXL in size and it will be bit-exact.
The case where JPEG XL genuinely wins is a GIF that depicts a photograph: a heavily dithered scan or a screenshot of a photograph, where the palette reduction produced something noisy and PNG’s lossless compression has nothing to grip. There, a lossy modern codec at a sensible quality is smaller by a real margin. That is a minority of GIFs, and it is worth checking which kind you have before converting several hundred.
The format’s recorded problem is patchy support, and it is the risk that matters for the use this page is about. An archive is a bet on being able to open the files later, and JPEG XL’s position in browsers has been contested rather than settled since it was standardised.
The mitigation is not complicated: do not delete the originals until the collection has been readable for long enough to trust, and keep the format decision reversible. A folder of GIFs and a folder of JXLs costs disk space, which is the cheapest thing in this trade. A folder of JXLs alone, five years from now, is a bet.
Encoding JPEG XL here does not depend on the browser supporting the format. The codec is a WebAssembly module the page downloads and runs, so a browser with no JPEG XL support at all will still produce a valid file.
The visible consequence is that the result cannot be previewed the way a PNG or WebP conversion can. You download a file you cannot open in the tab you made it in, and checking it means opening it in GIMP, in ImageMagick or in a desktop viewer that supports it. Worth doing on the first file before committing a batch.
A GIF can nominate one palette entry as transparent, and JPEG XL carries a full alpha channel, so that transparency survives the conversion. What it cannot do is soften it — the source has hard on-or-off transparency and the result records exactly that, jagged edges included.
Animation is the loss. JPEG XL can store animation and this conversion does not produce it: one frame in, one image out. For an archive of animated GIFs the correct answer is to keep the GIFs, or to convert them to video, where a real codec makes them a fraction of the size instead of a fraction of the content.
GIMP reads and writes it. ImageMagick reads and writes it, which also makes it scriptable for anything you want to do to the collection later. Several desktop image viewers have added support, and operating system thumbnail support is uneven.
What that list does not include is a guarantee that a colleague, a client or a web form will accept one. If any of the files in this collection might need to be sent to somebody, keep a copy in a format that never needs explaining, and treat the JXL as the storage copy rather than the only copy.
A folder of files is dropped in one go and each is encoded in turn, in the browser, with the results returned together. The encoder is downloaded once and reused, so the cost of the WebAssembly module is paid on the first file rather than on every one.
Nothing is uploaded and there is no account, which for a personal image collection is usually the reason to do this locally rather than with an online service. The free ceiling is 100 MB per file, which no still GIF has ever approached.
| GIF | JXL | |
|---|---|---|
| Full name | Graphics Interchange Format | JPEG XL |
| File extension | .gif | .jxl |
| Media type | image/gif | image/jxl |
| Compression | Lossless — nothing is discarded | Either, depending on the setting |
| First published | 1987 | 2021 |
| Published by | CompuServe | Joint Photographic Experts Group |
| Specification | GIF89a | ISO/IEC 18181 |
| Licensing | Open standard | Open standard |
| Standing today | Legacy, still read everywhere | Niche |
| Bit depth | 8 | 32 |
| Colour it can describe | indexed palette | RGB, greyscale, wide gamut |
| Largest image | 65,535 px per side | — |
| Opens in a browser | Every browser | Some browsers |
| Considered instead | WebP, MP4 | AVIF, WebP, PNG |
Transparency survives. Both GIF and JXL store an alpha channel, so a cut-out stays cut out and nothing is filled in behind it.
Animation survives. GIF and JXL both hold multiple frames, so the result moves rather than freezing on the first one.
Only some browsers read JXL. It is the less portable of the two, so it is worth being sure the program at the other end accepts it before sending one.
GIMP and ImageMagick read both GIF and JXL, so there is a way to check the result against the original without a second tool.
The two are aimed at different work: GIF at the web, JXL at archiving and photography. That is worth weighing before converting, because the reason one exists is usually the reason the other is awkward.
GIF is CompuServe's format, published in 1987. It records 8 bits per channel.
JXL comes from Joint Photographic Experts Group and dates from 2021, specified as ISO/IEC 18181. GIMP and ImageMagick all read it.
GIF was published in 1987 and JXL in 2021. The older one is generally the safer file to hand to somebody; the newer one usually does the job in fewer bytes.
No. The converter exposes a single quality control from 1 to 100 and no lossless switch, so the result is a re-encoding rather than a bit-exact copy of the GIF’s pixels. JPEG XL does define a lossless mode; this path does not reach it. If bit-exactness is the requirement, PNG is lossless by definition and this site converts to it.
Often, but not dramatically, and sometimes not at all. GIF’s LZW compression is genuinely poor on photographic content and genuinely good on flat runs of a single colour, which is what most surviving GIFs are. Where the GIF is dithered the JXL will struggle for the same reason every modern codec struggles with dither — it is noise, and noise cannot be predicted.
GIMP and ImageMagick both read and write it, and a growing number of desktop viewers do. Browser support is partial rather than universal, which is the format’s recorded problem, so a JXL is not something you can reliably hand to somebody else or drop into a web page today.
No. JPEG XL can hold animation, but this conversion decodes one frame and encodes one image, so an animated GIF becomes the still it opens on. Archiving an animation means keeping either the GIF itself or a video conversion of it, not a JXL.
Yes. JPEG XL carries an alpha channel and nothing on this path flattens it, so a GIF’s transparent background comes through as transparent rather than white.
No. The JPEG XL encoder is a WebAssembly module that runs in your browser, so a batch of several hundred files is processed on your own machine with nothing sent anywhere and no account.
The claims this page makes about GIF and JXL are checkable, and these are the documents that settle them.