Convert HEIF to GIF

Converting HEIF to GIF reduces a photograph from millions of colours to at most 256, which is visible on skies and skin and usually produces a larger file than the JPG would have been. It runs in your browser, and this page will tell you when to choose something else instead.

  • Where it runs In your browser. The file is never uploaded.
  • Lossy Some detail is traded for size. GIF cannot hold everything a HEIF can.
  • File size limit Up to 100 MB per file, free, without an account.
  • Worth knowing Reduced to 256 colours, which is visible on photographs, and transparent areas are filled with the background colour rather than kept.

Up to 100 files at once. Mixed formats are fine.

Read this before converting a photograph to GIF

GIF has a hard palette limit of 256 colours. A photograph from a phone camera contains millions, so the conversion is not a re-encoding, it is a reduction — something has to decide which 256 colours the picture is allowed to keep, and everything else is approximated with one of them.

The result is worse than a JPG of the same picture and, on most photographs, larger than one. If nothing is forcing your hand, this is the wrong page and the JPG, PNG or WebP conversions are each better answers for a different reason. The rest of this page is written for the reader whose hand is being forced.

Where GIF is still the only file that gets accepted

CompuServe published GIF in 1987 and the current specification, GIF89a, dates from 1989. That age is exactly why it persists: software written any time in the last thirty-five years understands it, and upload filters written a long time ago frequently list it alongside JPEG and nothing else.

The systems that produce this search are recognisable. An old message board. A wiki nobody has upgraded. An internal ticket system with a hard-coded allow list. A piece of retail or industrial software with a splash screen. In all of them the format is not a preference to argue with, and a converted GIF that looks slightly banded beats an upload that is rejected.

How the 256 colours are chosen

The naive approach — rounding each channel to a fixed grid — produces exactly the poster-like result people associate with old GIFs, because the palette has no relationship to the picture. This converter does not do that. It builds the palette from the colours actually in your image, partitioning the colour space and weighting by how often each region occurs, which is the same family of algorithm ImageMagick uses.

The consequence is that a picture dominated by a few hues comes out surprisingly well: a portrait against a plain wall, a product on a white background, a screenshot. A picture that spans the whole spectrum — a market stall, autumn foliage, a sunset over water — is where 256 entries run out and the reduction becomes obvious.

The speed compromise inside the quantiser

The palette is built from a reduced colour space rather than from the full precision of the source, which costs a little accuracy and saves a great deal of time. For a format that ends at 256 colours regardless, that trade sits heavily on the side of not making somebody wait seconds for a marginally better palette.

It is worth knowing because it sets expectations correctly. This is a fast, good-enough quantiser, not a slow perfectionist one. If you need the very best possible 256-colour rendering of a photograph — for a print of an old game asset, say — a dedicated tool with dithering options will beat it, and will take considerably longer.

What banding looks like when it arrives

Banding shows up first in gradients: a clear sky becomes three or four visible steps, a studio backdrop develops contour lines, skin tones go slightly blotchy across a cheek. Sharp detail — text, edges, foliage — survives much better, because those areas were never smooth to begin with.

The practical mitigation is size. Convert at a smaller maximum width and the same banding occupies fewer pixels and is far less noticeable, especially if the destination displays the image small anyway. Cropping to the part of the picture that matters helps for the same reason: fewer distinct colours competing for the same 256 slots.

No animation comes out of this pair

Both formats can hold a sequence — GIF is the format most people associate with animation, and a HEIF container is allowed to store several images. Neither of those facts helps here. The decoder takes the primary image out of the container and the encoder writes one frame.

So a HEIF burst becomes a still, and there is no setting that changes it. If you are trying to produce an animation, the source you need is a video: the MP4 and MOV pages cover that, and they produce a real multi-frame GIF rather than a single picture in a format that could have held more.

The GIF written here has no transparency at all

HEIF carries a real alpha channel, where each pixel can be any degree of transparent. The GIF format offers one palette entry meaning "show the background through here", and the encoder on this page writes no such entry — so every pixel of the result is opaque, one bit included.

The alpha is resolved instead. Before the palette is chosen, the transparent areas are painted with the background colour set above the drop zone, white unless you change it, so an antialiased cut-out lands on a solid rectangle with its soft edge blended into that colour. It looks right on a page of the same colour and wrong on any other. If the cut-out has to work against a background you do not control, PNG is the conversion that keeps it, and it is one page over.

Why the GIF is often bigger than what it came from

GIF compresses with LZW, which builds a dictionary of sequences of palette indices as it reads the image and reuses an entry every time that sequence recurs. That works beautifully on flat artwork and terribly on photographs, where adjacent pixels almost never match exactly even after quantisation. So the file is large despite holding less picture.

Set against a HEIF, which is a modern codec doing the opposite of that, the comparison is stark: it is common to end up with a GIF several times the size of the photograph it came from and visibly worse. That is not a bug in the conversion; it is what happens when a 1987 format is asked to hold a 2026 camera's output.

Nothing about the camera is carried into the GIF

The format has no EXIF, no XMP and no place for GPS coordinates, and the conversion would not have carried them anyway — decoding to raw pixels and re-encoding leaves nothing for metadata to travel in.

For a picture going onto a public board that is a small mercy. The photograph you upload will not tell the forum where it was taken or which phone took it, and that is one fewer thing to remember to remove afterwards.

Converted locally, and reversible only if you keep the original

Both halves run in the browser tab, so nothing is uploaded, there is no queue and no account, and the 100 MB free ceiling applies per file to inputs no phone photograph will approach. A folder converts with a progress row each and an "all as ZIP" button once two are finished.

Keep the HEIF. The colours discarded to fit into a palette of 256 cannot be reconstructed from the GIF, and this site cannot write HEIF at all — the decoder it uses is licensed in a way a static site can honour, and an encoder is not. The GIF is a one-way copy for one stubborn system.

What GIF is still genuinely good at

It is worth being fair to the format, because the fairness tells you when this conversion succeeds. GIF was designed for pictures made of a few flat colours: interface elements, diagrams, charts, logos, pixel art, screenshots of software with a limited palette. On those it is compact, exact and universally readable, and a 256-colour limit is not a limit at all because the picture never had more.

So the question to ask about your own file is not "is this a photograph" but "how many distinct colours does it really contain". A photograph of a whiteboard, a screenshot captured on a phone, a picture of a printed form: those are flat-colour images that happen to live in a camera container, and they convert to GIF far better than a landscape does.

Check what the destination accepts before converting anything

Many systems that appear to demand GIF do not. An upload control that lists GIF first, an old help page, a colleague's habit — none of those is the actual validation rule, and the rule frequently includes JPEG and PNG as well. Trying one PNG upload costs a minute and can spare you the whole colour reduction.

Where the restriction is real, it is usually real in a specific way: a fixed pixel size, a maximum file size, or a system that only ever supported the format. Knowing which one you are up against changes what you do here — a size cap argues for a smaller maximum width, and a format-only rule means converting at whatever dimensions look best.

How to convert a HEIF picture into a GIF

  1. Drop the HEIF file here, or click to choose it.
  2. Set a maximum width — a smaller GIF hides the colour reduction.
  3. Download the GIF, and compare it against the original before you rely on it.

HEIF against GIF: millions of colours against 256

HEIF compared with GIF
HEIFGIF
Full nameHigh Efficiency Image File FormatGraphics Interchange Format
File extension.heif.gif
Media typeimage/heifimage/gif
CompressionLossy — file size is bought with qualityLossless — nothing is discarded
First published20151987
Published byMPEGCompuServe
SpecificationISO/IEC 23008-12GIF89a
LicensingPublished, not standardisedOpen standard
Standing todayCurrentLegacy, still read everywhere
Bit depth108
Colour it can describeYCbCr, wide gamutindexed palette
Largest image65,535 px per side
Opens in a browserSome browsersEvery browser
Considered insteadJPG, AVIFWebP, MP4

What is lost

GIF has no alpha channel. A transparent HEIF comes out with those areas filled in — white unless something else is set — and no setting in GIF brings the transparency back.

GIF holds a single still image. An animated HEIF keeps its first frame and loses the rest, so a conversion is a way to take a still out of one, not a way to move it.

GIF stores at most 256 colours per frame. A photograph converted into one is reduced to a palette, which is what makes the sky look stepped rather than smooth — it is the format, not a quality setting.

HEIF carries up to 10 bits per channel and GIF stores 8. The extra precision is what survives heavy correction without banding, so the conversion is best made after the editing rather than before it.

Opening the result

GIF opens in every current browser. HEIF has narrower browser support than that. If the file is going onto a web page or into a form, that is usually the whole reason for the conversion.

File size and quality

The result is larger than the original and no better. HEIF has already discarded detail, and GIF stores what is left without discarding more — it prevents further loss rather than undoing the first one.

What each format is for

The two are aimed at different work: HEIF at phones and photography, GIF at the web. That is worth weighing before converting, because the reason one exists is usually the reason the other is awkward.

HEIF is MPEG's format, published in 2015. It records 10 bits per channel.

GIF comes from CompuServe and dates from 1987, specified as GIF89a. GIMP, Adobe Photoshop and ImageMagick all read it.

GIF was published in 1987 and HEIF in 2015. The older one is generally the safer file to hand to somebody; the newer one usually does the job in fewer bytes.

HEIF to GIF: colour loss, animation and file size

Are my HEIF files uploaded anywhere?

No. This conversion runs entirely inside your browser, so the file never leaves your device. You can confirm it yourself: open the network tab of your browser's developer tools and convert something. You will see the page load, plus the analytics and advertising the site is paid for with — and nothing carrying your file. The engine behind this particular pair is libheif, the reference decoder for Apple's HEIC; your browser fetches it once and caches it.

Will the photograph look worse as a GIF?

Yes, and visibly. GIF holds at most 256 colours where the photograph had millions, so smooth areas — skies, skin, walls — break into bands. Flat artwork and screenshots survive the trip; photographs do not.

Can I make an animated GIF from a HEIF?

Not from this pair. A HEIF container can hold a sequence, and the decoder takes the primary image, so the GIF holds a single frame. Building an animation needs a source that is genuinely a video.

Is the GIF smaller than the HEIF?

Usually larger. GIF compression pays off when the same sequence of palette entries recurs, and a photograph repeats almost nothing, so it compresses badly even after the colour count has been cut. You end up with a bigger, worse file.

Does GIF keep transparency?

No. GIF can nominate one palette entry as transparent and the encoder here nominates none, so the result is opaque throughout — the alpha channel is spent filling the see-through areas with the background colour set above the drop zone, white unless you change it. If a cut-out with clean edges matters, PNG is the format that preserves it properly.

What should I use instead if I have the choice?

JPG for a photograph, PNG for anything with flat colour or transparency, WebP if the destination is a web page. GIF is only the right answer when the receiving system genuinely refuses the others.

How are the 256 colours chosen?

By a quantiser that builds a palette from the colours actually present in your picture, weighted by how often they occur, rather than from a fixed grid. That is why the result looks like a reduced version of your photograph and not like a poster.

More about these formats

Where these figures come from

The claims this page makes about HEIF and GIF are checkable, and these are the documents that settle them.