PNG Slideshow Creator

Uploads several PNG images, resamples any that don't match the first image's size, and encodes them as consecutive frames of a real Animated PNG (APNG) file that plays as a looping slideshow, entirely in your browser. A free online tool from Staaarter, right in your browser.

Runs locallyUpdated 2026-07-26

Overview

Introduction

This tool turns a batch of separate PNG images into a single looping slideshow animation, saved as a real Animated PNG (APNG) file.

Every image is decoded, resampled if needed, and packaged locally in your browser — nothing you upload leaves your device.

What Is PNG Slideshow Creator?

A client-side APNG encoder that treats each uploaded image as one full animation frame, played in upload order with a shared per-slide delay, then packed into a spec-valid multi-frame PNG file.

It shares its chunk-encoding logic (acTL, fcTL, IDAT/fdAT) with this category's other APNG generators.

How PNG Slideshow Creator Works

The first uploaded image sets the canvas dimensions; every other image is checked against that size and resampled with nearest-neighbor scaling if it doesn't match.

Each resulting same-sized frame is handed, in order, to the shared APNG encoder, which zlib-compresses its scanlines and writes it as an IDAT (first frame) or fdAT (later frames) chunk with the correct frame-control (fcTL) metadata.

When To Use PNG Slideshow Creator

Use it to combine a handful of related images — screenshots, product photos, or design variations — into one shareable, self-playing animated file.

It's a lightweight alternative to a GIF slideshow when you want PNG-quality color depth and true alpha transparency between slides.

Features

Advantages

  • Produces a real, spec-valid APNG file that plays natively in supporting viewers, no JavaScript required.
  • Automatically normalizes mismatched image sizes rather than failing outright.
  • Supports full 8-bit RGBA per frame, unlike GIF's 256-color, single-bit-alpha palette.

Limitations

  • All slides share one delay value; there's no per-slide timing control.
  • Every frame stores its own full compressed pixel data, so file size scales with both the number and size of the uploaded images.
  • Requires at least 2 images — for a single image, use the Fade-in or Fade-out Generator instead.

Examples

A 4-photo slideshow

Input

4 uploaded 400x300 PNGs, 100 centisecond delay

Output

A looping APNG cycling through all 4 photos, each shown for about 1 second

Since all 4 images already share the same dimensions, none need resampling before encoding.

Mixed-size product shots

Input

3 uploaded PNGs of different sizes

Output

A looping APNG where the 2nd and 3rd images are resampled to match the first image's dimensions

APNG requires every frame to share one canvas size, so mismatched uploads are automatically resized to fit.

Best Practices & Notes

Best Practices

  • Upload images that already share the same dimensions when possible, to avoid any resampling softness.
  • Keep the slide count and delay balanced with your intended total playback time.

Developer Notes

This lib file imports resizeNearest (from the shared pixel-buffer module) and encodeApng (from png-fade-in-generator.ts) rather than re-deriving resizing or chunk-encoding logic, keeping the actual slideshow-specific code limited to frame ordering and validation.

PNG Slideshow Creator Use Cases

  • Combining a handful of screenshots into one shareable animated preview
  • Cycling through product photo variations in a single embeddable file
  • Building a simple before/after/after-that comparison animation

Common Mistakes

  • Uploading only 1 image — the tool requires at least 2 to be a meaningful slideshow.
  • Expecting different delays per slide; the current version applies one shared delay to every frame.

Tips

  • Preview the animation directly in the output panel before downloading, since most browsers render APNG natively.
  • Reorder your uploads before generating, since slides play in the order they were added.

References

Frequently Asked Questions