Video contact sheet — a grid of frames on one image

Set the number of columns and rows and the tool fills a single JPEG or PNG with that many evenly spaced frames from the video, each stamped with its time, under a header that lists the file's details.

Live demo · real result from this tool

Drop your video here

or paste with Ctrl+V · nothing is uploaded

Your result appears here — processed on your device.

Processed on your device — nothing is uploaded.

How to use the video contact sheet maker

  1. Drop a video onto the box or click to choose one.
  2. Set Columns (1–12, default 4), Rows (1–20, default 4) and Sheet width in pixels (400–8,000, default 1,600).
  3. Keep Show timestamps ticked to print each frame’s time in its corner, and Header with file details ticked for the information strip at the top.
  4. Choose the Image format: JPEG (default, smaller) or PNG.
  5. Press Make contact sheet, check the preview and download the image.

What it does and when to use it

A contact sheet is the video version of the strip of prints photographers used to judge a roll of film. It lets you see a whole clip at a glance: share a quick overview with a client or editor, check that a long recording captured what you expected, choose which part of a video to cut, or add a visual summary to an archive or catalogue of footage.

To save the individual frames as separate files instead, use the video frame extractor. For one high-resolution still, the video thumbnail grabber is the better fit, and the video info viewer lists every technical detail of the file as a table.

How it works

The tool reads the video’s size, length and average frame rate with Mediabunny in a background worker. It then works out the grid:

cell width = (sheet width − 8 × (columns + 1)) ÷ columns, rounded down

The cell height follows the video’s shape, with an 8-pixel gap between cells and a 64-pixel header band when the header is on. Frames are decoded at the middle of equal slices of the clip, fitted into their cells on a dark background, and the time of each is written in the bottom-right corner. The finished canvas is saved as JPEG (90% quality) or PNG. The video never leaves your device.

Worked examples

These sizes come from the tool’s own layout function.

Video Grid Sheet width Sheet size Cell size
1920×1080 4 × 4, header on 1,600 1600×980 390×219
1920×1080 6 × 3, header on 1,600 1600×531 257×145
1080×1920 3 × 5, header off 1,200 1200×3508 389×692

On a 95-second clip, the default 16 frames are stamped 0:03, 0:09, 0:15 and so on up to 1:32.

Limits and tips

  • Large grids on long videos take time, because each frame has to be found and decoded. Files without a seek index, such as some browser recordings, are read from start to end instead.
  • Timestamps are whole seconds, so two frames less than a second apart can show the same time.
  • AVI, WMV and FLV cannot be read here; convert them first with the video converter.

Frequently asked questions

How many frames can a sheet hold?
Up to 12 columns and 20 rows, so 240 frames. More frames means smaller cells, so raise Sheet width (up to 8,000 pixels) when you use a big grid.
What does the header show?
The file name (up to 90 characters), then the length, resolution, frame rate and file size, for example 1:35.00 · 1920×1080 · 29.97 fps · 48.2 MB. The frame rate is an average read from the start of the file.
Why is the sheet so tall with a phone video?
Cells keep the video's shape. Portrait clips make tall cells, so a 3 × 5 grid of a 1080×1920 video at 1,200 pixels wide is 3,508 pixels tall. Use more columns and fewer rows for portrait footage.
Does the sheet show the first and last frame?
Not exactly. The clip is divided into equal slices and each cell shows the middle of one slice, which avoids black frames at the very start and end.

Written by the ToolsRift team · Last updated

Pages are drafted with AI assistance and checked by automated tests. How we write and check pages.

Was this tool useful?

Report a problem

Start typing to search every tool.

↑ ↓ to moveEnter to openEsc to close