IMAGE BASE64 TOOLLocal conversion

PNG to GIF

or drop PNG / APNG files here
Edge matte, alpha cutoff, size, repeat and URL

Choose a matte matching the surface where your GIF will be displayed. GIF cannot retain partial alpha. Images fit inside one canvas without stretching.

No PNG files selected.

Ready. Your files stay in this browser.

No login, no registration, no saved history, no image upload to a conversion server.

Transparent edges and frame delay: exact settings

PNG alpha can represent partly transparent pixels. GIF only has transparent or opaque pixels: full partial-alpha preservation is impossible. Keep binary transparency leaves pixels below the cutoff transparent. Remaining partly transparent pixels are blended with your edge matte before color reduction. A white matte suits a white surface; it can leave a light fringe on a dark surface. Match the matte to the final background, then inspect the result there. No setting preserves soft PNG alpha against every background.

Reproduce the measured settings

  1. Press Clear, then Try measured PNG pair. The two original test PNGs are generated from the embedded sample bytes locally.
  2. Leave Maximum colors per frame at 256 and Transparency at Keep binary transparency. Open the advanced settings and set Edge matte color to #ffffff and Alpha cutoff to 128.
  3. Leave width and height at 0. Set the blue frame delay to 70 ms and the red frame delay to 130 ms. Convert and download the GIF.
  4. Repeat with matte #000000 to see the darker edge. Use Flatten onto matte only when an opaque background is acceptable.

Delay controls use milliseconds (ms). GIF stores hundredths of a second, so this converter rounds each delay to the nearest 10 ms. Stored delay is not a guarantee of wall-clock playback: viewers may clamp very short delays. Individual delays override the default; Apply to all replaces every frame delay. APNG delays are imported before you edit them.

Measured outputs

On 2026-10-24, we converted our 220-byte blue PNG and 218-byte red PNG in Chrome 155.0.8059.85 and inspected the downloaded GIF with Python 3.12.14 and Pillow 12.3.0. With binary transparency, alpha cutoff 128, white matte and 256 colors, the exported GIF contained 621 bytes, two 64 by 48 pixel frames and stored delays of 70 and 130 milliseconds. Pillow found 2111 fully transparent pixels and zero opaque pure-black pixels in each of those two frames. At position (17, 24), the blue input pixel was RGBA (20, 110, 220, 128); the decoded white-matte GIF pixel was (137, 182, 237, 255). At position (13, 24), the blue input alpha was 64 and the decoded GIF alpha was zero with cutoff 128.

With only the matte changed to black, the decoded blue edge at (17, 24) was (10, 55, 110, 255), while the stored delays remained 70 and 130 milliseconds. With transparency flattened onto white, the GIF contained 777 bytes and Pillow counted zero transparent pixels in both frames. With 16 colors and width 32, the GIF contained 427 bytes and two 32 by 24 pixel frames with delays of 70 and 130 milliseconds.

After moving the red frame first, Pillow read red center RGB (220, 60, 30) in frame zero and delays of 130 and 70 milliseconds. Entering delays of 73 and 137 milliseconds produced stored GIF delays of 70 and 140 milliseconds in our downloaded file. Our 459-byte APNG produced two GIF frames with stored delays of 70 and 130 milliseconds.

With binary transparency and the cutoff lowered to 64, our downloaded GIF contained 777 bytes and Pillow counted 1551 fully transparent pixels in each of the two frames. At position (13, 24), the blue PNG pixel (20, 110, 220, 64) became (196, 219, 246, 255) in the white-matte GIF with cutoff 64. With the cutoff raised to 192 instead, our downloaded GIF contained 463 bytes and Pillow counted 2543 fully transparent pixels in each frame. At position (17, 24), the decoded blue-frame pixel became RGBA (0, 0, 0, 0) with cutoff 192; Pillow still read the frame delays as 70 and 130 milliseconds.

SettingsOutputTransparent edge or timing check
Keep; cutoff 128; white matte; 256 colors; 70/130 ms621 bytes; 2 frames; 64 × 482111 transparent pixels per frame; blue edge RGB 137/182/237; stored 70/130 ms
Same settings; black matte621 bytes; 2 frames; 64 × 48Blue edge RGB 10/55/110: darker on white; stored 70/130 ms
Flatten; white matte; 256 colors777 bytes; 2 framesNo transparent pixels; stored 70/130 ms
Keep; white matte; 16 colors; width 32427 bytes; 32 × 24Stored 70/130 ms
Keep; white matte; cutoff 64777 bytes; 2 frames1551 transparent pixels per frame; blue outer-edge RGB 196/219/246
Keep; white matte; cutoff 192463 bytes; 2 frames2543 transparent pixels per frame; sampled edge removed
Requested 73/137 ms2 framesStored 70/140 ms, rounded to GIF units

Limits and supported input

PNG and APNG files are decoded locally; APNG frames join the editable frame list. The output is GIF, not a lossless PNG replacement. Colors are quantized, soft alpha changes, metadata is not copied, and dithering is not provided. Images are fitted inside one output canvas without stretching. Transparency uses the same cutoff on every frame, and frames clear the previous canvas to avoid trails.

This tool permits up to 200 frames, 4096 pixels per side and 32 million combined source or output frame pixels. Available device memory may impose a lower limit. There is no daily counter or file-byte quota. Public image URLs must allow CORS; no proxy or conversion server is used. Dropbox, Google Drive and OneDrive account integrations are not provided. Save those files locally and choose them here.

Questions about PNG to animated GIF

Will my transparent PNG stay transparent?

Fully transparent areas can stay transparent, but soft edges must become opaque or transparent. Use a matching edge matte, not an arbitrary black background. The white-surface sample above is not a promise that every image has no fringe.

Can I copy the animated GIF?

Copy GIF data URL copies the complete encoded GIF as text. It does not put an animated-image object onto every operating system clipboard. The text stays visible for manual selection if automatic copying is unavailable. Download GIF saves the actual generated image.

Do you upload my images?

No. Local files are decoded, resized and encoded within this browser. Load URL downloads the requested image directly from its host; it does not upload a chosen file. The page has no account, history database or conversion API.