How-to

How to Make an APNG: From PNG Frames to Smooth Animation

Making an APNG animation is no harder than building a slideshow: take a few picture-frames, decide how fast to flip them, and you get a smooth looping clip with real colors and transparency. Let's walk through the process step by step, plus three ways to do it: online, desktop and command line.

A diagonal color gradient — the sequence of frames an APNG animation is assembled from
An APNG animation is a sequence of frames stitched into a single file. Photo: Pexels

How assembly actually works

At the heart of APNG is a simple idea: an animation is just a stack of frames shown one after another. Each frame is a separate PNG image. The converter takes that stack, writes the order and timing into the file's service blocks, and packs everything into one .apng. No video codec, no audio — just a sequence of still images.

From that comes the main rule of preparation: all frames must be the same size. If frame one is 400×400 and frame two is 380×420, the animation will "jump." So the whole process boils down to three steps: prepare even frames, choose a speed, hit "assemble."

Analogy

APNG is like a flipbook drawn in the margins of a notebook: flip the pages and the little figure runs. Only here the pages are PNG frames, and instead of your hand, the browser flips them at a set speed.

Step 1. Prepare the frames

You can get frames from anywhere: draw them in a graphics editor, export from After Effects or Figma, render from a 3D app. The key is to save each frame as a separate PNG. A few practical tips:

  • Same size for every frame. This is the single most important condition. Check the canvas before exporting.
  • Clear numbering: frame_01.png, frame_02.png… — that's how the converter puts frames in the right order.
  • Keep transparency. If the background should be transparent, export the PNG with an alpha channel (PNG-32), not flattened onto white.
  • Fewer frames, smaller file. 12–24 frames per second is usually plenty for smoothness; there's no need to chase 60.
A smooth purple-to-cream gradient — an example of frames for a looping APNG animation
Same-size frames with a transparent background are the foundation of a clean animation. Photo: Pexels

Step 2. Delay and looping

Two settings control how the animation looks in the end: delay and looping.

Delay is how long each frame stays on screen, in milliseconds. That's the "speed" of the animation. A quick cheat sheet:

100 ms/frame
10 fps — economical, for icons
66 ms/frame
~15 fps — comfortable smoothness
42 ms/frame
~24 fps — cinematic
Loop 0
repeat forever

Looping sets how many times to play the animation. A value of 0 means "loop forever" — the default for loaders and stickers. Any other number plays that many times and freezes on the last frame (handy for short greetings or reveal effects).

A tip for smoothness

Want a perfectly seamless loop? Make the last frame close to the first one — then the "seam" on repeat is invisible, with no jerk. You can also give individual frames different delays for varied speed.

Step 3. Assemble the APNG online

The fastest way with no software to install is to assemble the APNG right in your browser. You upload the frames, set the delay and looping — the converter hands you a finished file.

1

Upload the frames

Drag all your PNG frames into the PNG → APNG converter. Order follows the file names.

2

Set the timing

Specify the delay between frames and the loop count (0 = forever).

3

Download the APNG

The finished file opens in any modern browser and embeds with an <img> tag.

Assemble an APNG in a couple of seconds

Upload your frames into our free PNG → APNG converter: set the speed and looping, download a smooth animation. No install, no sign-up.

Make APNG from PNG

Other tools: Assembler and ffmpeg

An online converter covers 90% of cases, but sometimes you need dedicated tools:

  • APNG Assembler — a desktop program built specifically for assembling APNGs. Its standout feature is automatic inter-frame optimization: repeating areas of neighboring frames aren't duplicated, so the file comes out noticeably lighter. Useful for long animations.
  • ffmpeg — if you need to build the animation from a video. One form of the command:
ffmpeg -i clip.mp4 -plays 0 -f apng output.apng

Here -plays 0 sets an infinite loop. ffmpeg is handy when your source is a video clip rather than a set of separate images.

An online converter is enough for most tasks. Reach for Assembler to optimize long animations, and ffmpeg when your source is a video.

Common beginner mistakes

To get your first APNG right on the first try, keep these traps in mind:

  • Different frame sizes. The most common cause of "jittery" or sliding animation. Double-check the canvas.
  • Lost transparency. If you export frames on a white background, transparency disappears — and with it the whole point of choosing APNG over GIF.
  • Too many frames. A long photo-realistic clip in APNG can weigh a lot (the format only compresses losslessly). For those cases, look at animated WebP.
  • Too short a delay. A delay under ~20 ms per frame won't actually play faster — browsers clamp very small values.

Pulling a frame back to PNG

Sometimes you need the reverse — to pull one static frame out of a finished animation (for a preview or a cover, say). That's what APNG → PNG conversion does: it extracts a frame and saves it as an ordinary PNG with transparency.

Drop the .apng into the APNG to PNG converter and you get a clean static frame. And if you want to understand how the format works inside, start with the overview article what is APNG. All available conversions live on the all formats page.

A set of PNG frames of the same size. Each PNG is one frame of the future animation. The frames then go into a converter that stitches them into a single APNG file with the delay you set between frames.
Speed is set by the delay between frames in milliseconds. For example, 100 ms per frame is 10 frames per second. The shorter the delay, the faster and smoother the motion, but the more frames you need to prepare.
Yes. APNG has a loop setting: a value of 0 means repeat forever, any other number is how many times to play the animation before it stops. Most web animations are made to loop forever.
The simplest path is an online PNG to APNG converter right in the browser. For batch work there's the desktop APNG Assembler with automatic optimization, and an APNG can be built from video with an ffmpeg command. All three produce a compatible file.
You need the reverse operation — converting APNG to PNG. The converter extracts the first (or chosen) frame of the animation and saves it as an ordinary PNG, keeping transparency. That's handy when you need a static preview image.