video

Video Contact Sheet

Sample frames across a video and combine them into a single contact sheet image.

Local processing
About your filesFiles and content selected in this tool are processed in your browser and are not uploaded to a Browser Kitty backend.
Operation demo See the basic workflow in a short video.

About this tool

Video Contact Sheet samples 12, 24, or 48 frames evenly across a video and arranges them into one overview image. It is useful for understanding the flow of a long recording without repeatedly scrubbing from start to finish.

The bundled FFmpeg WebAssembly runtime seeks to the required positions instead of decoding the entire video sequentially. The selected video stays on your device and is not uploaded to Browser Kitty.

Good for

  • Review the overall contents of a long video quickly
  • Create an overview of surveillance, screen-recording, lecture, or camera footage
  • Find roughly when a scene appears by scanning timestamped still frames

What it can do

Key capabilities available in this tool.

How to use

  1. Open the tool and choose or drop the video you want to review.
  2. Choose 12, 24, or 48 frames to sample across the full duration.
  3. Enable timestamp labels if useful, then generate the contact sheet.
  4. Open the generated image fullscreen and zoom or pan to inspect details.
  5. Choose the filename and PNG or JPEG format, then save the image.

Supported

  • Frame counts: 12 (4×3), 24 (6×4), or 48 (8×6)
  • Common containers include MP4, MOV, MKV, WebM, AVI, and MPEG-TS
  • The bundled FFmpeg profile can decode common codecs including H.264, HEVC/H.265, VP8, VP9, AV1, MPEG-4, MJPEG, and ProRes
  • Output: PNG or JPEG with optional timestamps and fullscreen review before saving

Limitations and notes

  • Because frames are sampled at even intervals, a very brief scene can fall between samples and be absent from the sheet.
  • Generating 48 frames or processing long/high-resolution videos takes more time and device resources than 12 or 24 frames.
  • The lightweight source thumbnail depends on native browser playback support, so it may fail even when FFmpeg can still generate the contact sheet.
  • Large videos can take noticeable time on slower or memory-constrained devices.

Frequently asked questions

Is my video uploaded to a server?

No. Video access, FFmpeg frame extraction, image generation, and saving are performed locally in the browser.

Should I choose 12, 24, or 48 frames?

Use 12 for a quick overview, 24 for a balanced default, and 48 when you need finer coverage of a long video. More frames make each tile smaller.

Can I use it if the source thumbnail does not appear?

Yes. The small source thumbnail is only a native-browser preview. The bundled FFmpeg runtime may still generate a contact sheet for formats the browser cannot preview directly.

Can the sheet show video timestamps?

Yes. Each tile can include its source timestamp, which helps you locate the scene later in the original video.

Offline version and source code

The standalone video-contact-sheet.html bundles the FFmpeg JavaScript/WebAssembly runtime and can be used offline in a compatible browser without sending the video elsewhere.

View source on GitHub