Images to Video — Turn an Image Sequence into MP4, WebM or GIF

Drop in a folder of stills and get a video out. Set how many images make one second, and the sequence is assembled in filename order into MP4, WebM or an animated GIF. Everything happens in your browser — useful when the sequence is hundreds of megabytes of PNG.

  • No upload wait
  • Nothing leaves your device
  • Free, no account
  • No artificial size limits

Order comes from the filenames

The images are sorted by their original filenames and assembled in that order. Anything a camera, a renderer, or a timelapse app produces — IMG_0001.jpg, render_0420.png — already sorts correctly, so in practice you drop the folder in and the order is right.

The one case that breaks is unpadded numbering: shot1, shot2 … shot10 sorts as 1, 10, 11, 2 in every alphabetical sort there is. If your files look like that, rename them with leading zeros first. It's the single most common reason an assembled sequence comes out scrambled, and no tool can reliably guess around it.

Frame rate is a creative decision, not a default

The input frame rate sets how many of your images become one second of video, and it's the control that decides what the result feels like. Twenty-four images per second from a 240-image sequence gives ten seconds of smooth motion. Two per second from the same sequence gives two minutes of deliberate, stepped animation. Same files, completely different piece.

For timelapses the number follows from how long you want the result to be: divide your image count by the seconds you're aiming for. A thousand frames at 25fps is forty seconds; at 10fps it's a minute and forty, and noticeably more staccato.

MP4, WebM or GIF

GIF output also takes a loop count, including infinite. And there's an option to hold the last frame for a few extra seconds, which is the usual fix for a loop that ends too abruptly to read.

  • MP4 (H.264) — plays everywhere, the right default for anything that needs to be shared or embedded.
  • WebM (VP9) — smaller at the same quality and supports real alpha transparency, which MP4 doesn't. Worth it for web use where you control the player.
  • GIF — for short loops that have to autoplay inside contexts that won't run video. Far larger than either video format for the same content, and limited to 256 colours per frame, so keep it to a couple of seconds.

Colour: why assembled sequences come out washed out

This is the classic failure of image-sequence assembly, and it catches almost everyone once. Your PNGs are sRGB. Video is YUV with its own primaries and transfer curve. Encode the images without saying which is which, and the player applies the wrong curve — the result looks pale, low-contrast and slightly lifted, exactly as if someone had dragged a brightness slider the wrong way.

The converter handles the sRGB to bt709 conversion and then tags the output file explicitly — primaries, transfer, matrix and range all written onto the video. That tagging is what stops the next player from guessing. A file without it is a coin flip across devices.

Quality and size

Quality presets cover most cases, and there's a direct CRF control underneath for when you want to be specific. Lower CRF means higher quality and a bigger file; the scale is logarithmic, so small numeric changes matter more than they look.

Rendered content — screen recordings, synthetic graphics, flat-colour animation — compresses far better than camera footage, so a sequence of renders at a high quality setting is often much smaller than you'd expect. Camera stills with sensor noise go the other way: the noise is detail as far as the encoder knows, and it costs bitrate.

There's also a chroma subsampling override. The 4:2:0 default is right for almost everything and is what maximises compatibility, but sharp-edged graphics and text can hold up better at 4:4:4 if the players you care about support it.

What people use this for

  • Timelapses from an intervalometer or a trail camera.
  • Renders out of Blender, After Effects or a 3D tool that wrote a PNG sequence.
  • Stop-motion and frame-by-frame animation shot as individual photographs.
  • Scientific and microscopy capture, where the instrument writes numbered TIFFs or PNGs and never video.
  • Rebuilding a clip after editing frames individually — pairs with extracting them in the first place.

Why the browser is the right place for this

An image sequence is the worst possible thing to upload. A thousand PNGs can be several gigabytes, and a server-based tool needs all of it before it can start. Assembling locally means the files are read straight off your disk, the encode starts immediately, and nothing is transmitted anywhere. There's no upload wait, no size cap, and no copy of your sequence sitting on someone else's machine.

Frequently asked questions

How do I turn a folder of images into a video?
Choose the build-from-images mode, drop the images in, set how many of them make one second, and pick MP4, WebM or GIF. The sequence is assembled in filename order. Nothing is uploaded — the files are read from your disk and encoded on your own device.
What frame rate should I use for a timelapse?
Divide your image count by the number of seconds you want. A thousand frames at 25fps runs forty seconds; the same thousand at 10fps runs a minute and forty and looks noticeably more stepped. There's no correct answer — it's the main creative control you have over the result.
My images came out in the wrong order. Why?
Almost always unpadded filenames. shot1, shot2 … shot10 sorts alphabetically as 1, 10, 11, 2 — in this tool and in every other one. Rename with leading zeros (shot001) and the order is correct. Camera and renderer output is normally already padded.
Why does my assembled video look washed out?
Because the sRGB-to-video colour conversion was skipped or left untagged somewhere in the chain, so the player applies the wrong transfer curve and the picture comes out pale and flat. This converter does the sRGB to bt709 conversion and writes explicit colour tags — primaries, transfer, matrix, range — onto the output so players don't have to guess.
Can I keep transparency?
Only in WebM. VP9 supports an alpha channel; MP4/H.264 has no usable transparency, so an alpha PNG sequence encoded to MP4 gets flattened. GIF has one-bit transparency, which gives hard, jagged edges rather than a smooth alpha.
MP4 or GIF for a short loop?
MP4 unless something in the chain genuinely can't play video. A GIF of the same loop is typically many times larger and capped at 256 colours per frame, which shows as banding on gradients. GIF's one real advantage is that it plays in places that block video.
How many images can I use?
Limited by your device's memory, not by a server. The images are held in the browser tab during encoding, so very large sequences of full-resolution PNGs can get heavy — scaling the output width down, or assembling in sections, is the way through it if you hit a wall.