Video & GIF to Sprite Sheet

Upload a video or GIF — extract frames and export as a game-ready sprite sheet.

Drag & drop your video here

Upload a video or GIF to extract frames and generate a game-ready sprite sheet. No uploads — everything runs in your browser.

Or click to browse

MP4, WebM, GIF, MOV, OGG

How it works

1

Upload a video

MP4, WebM, GIF, MOV — all processed locally in your browser

2

Configure settings

Set FPS, scale, max frames. Choose grid, row, or packed layout

3

Export sprite sheet

Download PNG + metadata for Unity, Godot, Phaser, PixiJS, and more

Common questions

What formats are supported?

MP4, WebM, GIF, MOV, and OGG. Processing happens entirely in your browser using FFmpeg.

Is my video uploaded anywhere?

No. Everything runs client-side. Your files never leave your device.

What's the max video length?

No hard limit, but shorter clips work best. Use the max frames slider to control output size.

Can I use this for game development?

Yes — export metadata for Unity, Godot, Phaser, PixiJS, Spine, Starling, and generic JSON.

How It Works

1

Upload a video or GIF

Drop in an MP4, WebM, MOV, or GIF. Everything is processed locally in your browser.

2

Set FPS, scale, and padding

Choose how many frames to extract per second, scale the output, and add padding between frames.

3

Export sheet + metadata

Download the PNG sprite sheet along with metadata for Unity, Godot, Phaser, and other engines.

Frequently Asked Questions

MP4, WebM, MOV, and animated GIF all work. The conversion runs on FFmpeg compiled to WebAssembly, so anything a modern browser can decode is fair game.

No. Frames are extracted entirely in your browser — the file never leaves your machine, which also makes it fast for large clips.

Yes. Set the FPS to control sampling density, cap the maximum frame count, and scale frames down to keep the final sheet within your engine's texture size limits.

Match the frame rate to the motion, not the source video. Simple loops and UI effects read fine at 8–12 FPS, character animation usually wants 12–24, and only fast, detailed motion justifies 30+. Every extra frame costs texture memory on the player's device, so use the animation preview to find the lowest rate that still looks smooth.

Generic JSON, Unity, Godot, Phaser, PixiJS, Spine, Starling XML, and CSS. Each export contains per-frame coordinates and sizes in the structure that engine's loader expects, so the sheet drops into your project without hand-editing.

Two usual causes: the frames were upscaled during extraction (extract at 100% and scale in-engine instead), or your engine is applying linear filtering to pixel art — switch the texture to point/nearest filtering. For non-pixel art, also check the engine isn't compressing the texture aggressively on import.

2048×2048 is safe on effectively every device; 4096 covers modern phones and desktops. If your animation doesn't fit, lower the extraction FPS, reduce the scale, cap max frames, or split long animations into one sheet per action — engines handle multiple sheets fine.

Want the full workflow, engine tips, and format details? Read the Sprite Sheet Generator guide