WoluTools

Images & Design

Split a GIF into frames and rebuild it

Upload a GIF, APNG, WebP or AVIF. You get every frame as PNG with its display time, and can reorder or replace frames and rebuild the animation.

or drop them here

GIF, APNG, WEBP, AVIF, PNG, JPG · Up to 100 frames
Free account needed for your 3 free jobs a day

No file at hand? See the prepared example

Standard toolIncluded · 3 free jobs a dayFree: 3 jobs a dayPro: up to 200 jobs a day · €12.99/month or €89.99/year
  • GIF / APNG / WEBP / AVIF / PNG / JPG / JPEG
  • Up to 100 frames
Prepared result preview · fictional sample dataSynthetic six-frame animation
Source
Extract decoded frames or rebuild confirmed frame files
Verified package preview
  • Frames use zero-padded names
  • Maximum: 2,000 frames
  • Rebuild duration is user-confirmed

frame-0001.png · frame-0002.png · manifest.json

BringGIF, APNG, WEBP, AVIF, PNG, JPG, JPEG
GetPNG frame ZIP, timing CSV, rebuilt animation
PrivacyEncrypted source · 24-hour result

One clear job, from source to download

  1. 1

    Add the source

    Supported formats and limits are visible before the upload.

  2. 2

    Confirm the settings

    Review the exact source, options, units and access before processing.

  3. 3

    Inspect and download

    Check the preview and warnings, then unlock the complete package.

Editing an animation one frame at a time

What you put in

You upload a GIF, APNG, WebP or AVIF animation to split it into single frames. To rebuild an animation, you can also add frame files as PNG or JPG. One job handles up to 100 frames. A file whose decoded size would grow far beyond its compressed size is rejected before it is unpacked, so it cannot exhaust memory.

Frames, timing and the rebuilt file

Each frame comes out as a PNG or WebP with a zero-padded name such as frame-0001.png, so the files sort correctly. A timing CSV records the display time of every frame. How each frame is cleared and whether the animation loops are kept where the format supports them. To edit, swap the frames you want to change, keep the names and rebuild. Anything the target format cannot store is reported, not dropped without notice.

Settings for export and rebuild

You choose the frame format, PNG or WebP. For the rebuild you choose GIF, APNG, WebP or the original format. Replacement frames use a duration in seconds that you confirm, while the original frames keep their own timing. Play the rebuilt animation before you publish it. This matters most when you change format, because not every format stores transparency and disposal the same way.

Questions before you run it

Does extracting frames lose the original timing?

No. Per-frame duration, disposal and loop metadata are written out alongside the images, so a rebuild can reproduce the original playback.

What format do the extracted frames come out as?

PNG or WebP, your choice, with zero-padded names such as frame-0001.png so they sort correctly in any file browser.

Can I replace a few frames and rebuild the animation?

Yes. Swap the frame files you want to change, keep the naming, and rebuild as GIF, APNG, WebP or the original format. Replacement frames use the duration you confirm.

What happens to features the target format cannot store?

Anything that cannot round-trip, such as a disposal mode or alpha behaviour the target format lacks, is reported instead of being dropped without notice.

How many frames can one job handle?

Up to 100 frames per run. A source whose decoded size would balloon far past its compressed size is rejected before rasterization rather than being left to exhaust memory.