Convert animated PNG to GIF

Turn APNG files into animated GIFs that chat apps and upload forms accept. Converted on this device, never uploaded.

Converts animated PNG (APNG) files to animated GIF, keeping every frame, its delay and the loop count, at the same size. GIF has 256 colours per frame and no soft transparency, so gradients dither and soft edges become hard ones. It is free, and your files are not uploaded: each frame is decoded and written by your browser.

Drop APNG files to convert to GIFor click to choose files. Batches welcome.
    Working…

    Done

    Free, no ads. Support StayPut

    Your files are processed on this device and never sent to a server. Reload the page to clear everything from memory.

    How it works

    1. Drop one or more animated PNG files (.png or .apng), or tap to pick them.
    2. Convert. Each one is decoded and written as a GIF in your browser.
    3. Download the .gif file, or a zip when you converted several.

    In your browser, not on a server

    UPNG.js (MIT, by Photopea) reads the animated PNG in your tab and composites each frame with its dispose and blend rules into a whole picture. gifenc (MIT) then reduces every picture to its own 256-colour palette, with pixels under half opacity made transparent, and writes it as a GIF frame with the APNG’s delay and loop count. The file is assembled in memory.

    Compared with upload-based tools: Online APNG to GIF converters upload the file to convert it on a server and may cap the size or keep a copy. Here the conversion runs on your device, and the page keeps working offline after one visit and a short wait.

    Verify it yourself. Give the page a short while after one visit to save itself for offline use, then turn off Wi-Fi or switch to airplane mode and run the tool again. Or open your browser's developer tools (F12, or Cmd-Option-I on a Mac), pick the Network tab, and watch it while you convert. The panel above does the same count for you.

    Questions

    Why does the GIF look worse than the APNG?

    GIF holds 256 colours per frame and its transparency is on or off, with no soft edges. An APNG has full colour and 8-bit transparency, so smooth gradients show banding or dithering in the GIF, and a soft shadow or anti-aliased edge becomes a hard edge. Each frame gets its own palette to keep the loss small.

    Will the GIF be smaller than the APNG?

    Usually only a little, and sometimes it grows. GIF drops colour information, but it stores each frame whole and compresses less well than PNG on photographic frames. For a much smaller file, run it through Compress GIF or turn it into video with GIF to MP4.

    Why would I want a GIF instead of an APNG?

    Many chat apps, social sites and upload forms only accept GIF, or flatten an APNG to its first frame. A GIF plays nearly everywhere.

    Does it keep the timing and the looping?

    Yes. Each frame keeps its delay (anything under 20 ms is raised to 20 ms, which browsers show at 100 ms anyway), and the loop count is carried over: forever stays forever, and an animation that plays once stays once.

    Is my file uploaded?

    No. The APNG is decoded by code in this page and the GIF is written in your browser’s memory. There is no server in the process, and after one visit and a short wait the page works with Wi-Fi off.

    More image tools

    Popular conversions