Format Converter
Free toolNo account

Video Contact Sheet Generator

Turn a selected video range into a chronological thumbnail grid, with adjustable rows, columns, cell proportions, spacing, timestamp labels, and JPG or PNG export.

A visual index instead of another video export

Decode one video locally and download a single contact-sheet image without an account or media upload.
Making chronological visual indexes for camera clips, interviews, screen recordings, and footage archives.
Sending a compact overview for initial editorial review before someone downloads or plays the full source.

video contact sheet

A video contact sheet for browsing footage at a glance

Build a video contact sheet when you need one visual overview of a clip, not another playable video or a folder of screenshots. Control coverage and legibility before sharing the image.

Search focus
video contact sheet
Input
Video with a readable picture and duration
Output
JPG or PNG thumbnail grid
Processing
Browser local

How to create a video contact sheet

Select a video and let its duration and dimensions load. A video contact sheet takes regular samples from a chosen interval and arranges them into one image, read left to right and then top to bottom. The grid is a visual summary rather than a moving preview. Decide how much of the clip matters before selecting rows and columns: covering an hour with nine pictures answers a different question from covering a two-second action with the same grid. Preview the source when available, generate the sheet, and inspect the image before downloading it.

  1. 1

    Choose a meaningful coverage range

    Wait for a valid duration, then enter start and end times inside the video. The end must be after the start. Play or seek through the original to decide whether a full-clip overview or a narrower sequence will be more useful.

  2. 2

    Set layout and time references

    Choose rows, columns, cell width, aspect ratio, and spacing. Enable timestamp labels for nominal source positions, or omit them for a clean visual arrangement. The settings show the resulting image dimensions, sample count, and approximate time spacing.

  3. 3

    Inspect the grid and export

    Generate the image, check its chronological order and readability, then download JPG or PNG. If a key action is missing, narrow the range or increase the sample count. Use the original player to inspect exact frames suggested by the sheet.

Coverage and sampling are editorial choices

A folder of thumbnails is awkward to scan, attach, print, or compare. A single sheet keeps the sequence visible together and makes it easier to identify broad changes in subject, framing, lighting, or interface state. This tool uses time-based sampling instead of trying to guess the best scenes. Equal spacing gives predictable coverage, but it can miss a very short event between samples. A repeated shot or static interview may yield similar cells even when the tool is working correctly. The grid is not scene detection or a complete record of every frame.

More cells trade space for coverage. A six-by-six grid includes more moments than a three-by-three grid, yet each thumbnail may become difficult to read when the final sheet is scaled to a chat window or slide. Larger cell widths improve inspection at full size but increase the output dimensions and processing cost. A narrower time interval often provides a more informative result than the largest possible grid. Keep the source alongside any catalog entry so reviewers can return to motion, audio, and context that a static overview cannot communicate.

Grid, picture, and export settings

Rows and columns each range from 1 to 6, for at most 36 samples. Cell width is 160 to 480 pixels; cell shape is 16:9, 4:3, or square. The picture fits within that shape with black letterboxing rather than being cropped to fill it. Small sources may be enlarged to fit the chosen cell. Spacing from 0 to 32 pixels is used between cells and around the sheet. White or black sets the sheet and label-strip background. Enabled timestamps add a 24-pixel strip under every thumbnail and show hours, minutes, seconds, and milliseconds. They mark nominal source sample positions, not verified frame timecodes. Sampling begins at the selected start, with spacing equal to range duration divided by cell count; the exact end is not a sample. Sparse or variable-frame-rate sources can repeat a nearby frame, and a held last picture fills sparse or very short ranges. JPG quality is adjustable from 60 to 100, initially 90; PNG has no JPEG quality setting.

Useful contact-sheet workflows

Making chronological visual indexes for camera clips, interviews, screen recordings, and footage archives.
Sending a compact overview for initial editorial review before someone downloads or plays the full source.
Comparing the broad progression of a selected scene while retaining nominal source-time references.

Read the image like an index, not a transcript

Open the downloaded image at its actual resolution and verify the start, progression, and last sampled moment. Look for readable faces, interface text, framing changes, and any black bars caused by the selected cell shape. A white or black label strip should provide enough contrast for its timestamp. The order runs across a row before continuing to the next one. Compare a few labeled positions with the original player, allowing for nearby decoded frames and variable timing. A contact sheet does not preserve sound, subtitles as separate tracks, camera motion, or what happened between its samples.

  • Narrow the range before adding more cells when the important action occupies only a small part of a long video.
  • Choose enough cell width to read meaningful details; a dense grid of tiny images is not necessarily more useful.
  • Treat timestamp labels as sampling references and confirm exact moments in the source player.

Local indexing, with visible-content responsibilities

FFmpeg decodes and tiles the selected frames inside the browser, then Canvas adds optional labels and encodes the downloadable image. No ordinary media upload or remote review job is required. This suits internal captures, private camera footage, rough edits, and support materials that should remain on the device during processing. Engine loading still uses the network, and long or high-resolution sources require memory and time. Keep the tab open until the image is ready; cancel or reset when abandoning a job.

A contact sheet can reveal many sensitive moments at once. Faces, names, notifications, account identifiers, locations, and confidential screens visible in a sampled frame remain visible in the output. Optional timestamps also disclose where in the source those images came from. The export does not automatically anonymize or blur anything. Review each cell before sharing and follow the permissions and retention rules for the source. Removing a label changes the image presentation, not the underlying privacy implications of its pictures.

Video contact sheet examples

Create a three-by-three JPG overview of a screen demonstration for a support handover.

Use a square two-by-four grid with a black background to compare a selected portion of portrait footage.

Export a PNG grid without labels for a presentation, or keep labels for a chronological media catalog.

What a thumbnail grid cannot replace

Use a timeline editor or single-frame extractor for exact frames, selective scene picking, full-resolution stills, and forensic or legal analysis. This page makes one sheet from one continuous range, not a ZIP of individual frames, a multi-video catalog, or a scene-detection report. It requires a decodable video track and a finite duration. Audio-only files, damaged media, and unsupported codecs cannot provide a useful grid. Very large sources can exceed browser memory even though the sheet layout stays below 4096 pixels per side. PNG preserves the generated sheet pixels without JPEG loss, but it does not restore detail lost by resizing or the original video codec. Decoding can begin before the selected range, so a late start does not necessarily make a long source fast to process.

  • Use single-frame extraction for a precise poster, full-resolution still, or frame-accurate editorial decision.
  • Watch the original for dialogue, motion, brief events, accessibility review, or evidence requiring complete coverage.

Video contact sheet questions

Are the timestamp labels exact frame timecodes?

They are nominal sampling positions measured from the source timeline. Variable frame rates and sparse frames can select or repeat a nearby decoded picture. Confirm a precise edit point in the source video rather than treating the label as frame-accurate evidence.

Why do some cells look identical?

The scene may be static, or the selected range may contain fewer distinct frames than grid slots. Time-based sampling can repeat available pictures. Try a longer or different range, or reduce the number of cells.

Does the grid crop the pictures?

No. Each picture is fitted inside the selected cell shape and padded with black where needed. Choose a shape closer to your footage if you want less letterboxing; this page does not provide per-cell crop editing.

Should I choose JPG or PNG?

JPG is useful for compact photographic overviews and has an adjustable quality setting. PNG avoids additional JPEG loss around text and labels but can be larger. Compare the downloaded candidate at the size the recipient will use.