Contact Sheet Generator

Contact Sheet Generator

Turn a batch of photos into one labeled proof sheet. Every photo shown in full, with filenames and numbers. No uploads, nothing leaves your device.

Last updated: August 2026

Full photo

Never cropped by default

5 sheet sizes

Auto plus A4 and Letter presets

No uploads

100% browser-based

No watermark

Clean output every time

Drop your photos here

JPG, PNG, WebP, GIF, BMP or AVIF. Add as many as you need.

Your files never leave this device

How to build a contact sheet

Five steps, all running locally in your browser.

01

Drop your photos

Drag any batch of JPG, PNG, WebP, GIF, BMP or AVIF files onto the tool. Nothing is uploaded, it stays on your device.

02

Arrange or sort

Drag to reorder in Manual mode, or sort by name, file size or date modified. Your manual order is preserved underneath either way.

03

Choose a layout

Pick a column count, then Auto sizing for any batch, or an A4 or Letter preset if the sheet needs to print on one page.

04

Add labels and style

Toggle filenames, numbers, and dimensions and size. Add a title, subtitle, and set background and text color.

05

Export

Choose JPG, PNG or WebP and download. The sheet is built and exported entirely in your browser.

Built for reviewing a batch, not just looking nice

A contact sheet is a working document. Every feature here supports that.

Never cropped by default

Every thumbnail shows the whole photo, letterboxed to fit its cell. Accurate review only works if nothing important gets cut off at the edges.

Filenames and numbers

Both shown under and on each photo by default, so you can reference an exact file when giving feedback or archiving a shoot.

Sort without losing your order

Switch between manual, name, file size and date modified freely, your dragged arrangement is preserved underneath and comes back exactly when you switch back to Manual.

Auto sizing or print pages

Auto grows the sheet to fit any batch size at whatever thumbnail size you want. A4 and Letter presets scale thumbnails to fit one printable page instead.

Title and branding

Add a title and subtitle across the top, a shoot name, client, or date, plus any background color the picker can produce.

Handles large batches

Lightweight thumbnails keep the browser responsive whether you are reviewing 20 photos or 200, no hard limit built in.

Common reasons to build a contact sheet

Client photo selection

Send a client every shot from a session on one page and let them reference numbers when picking favorites instead of naming files.

Archiving old photo folders

Turn a folder of scanned negatives or old digital photos into one browsable reference sheet with filenames intact.

Print proofing before a full order

Review an entire shoot as small prints on one page before committing to full size prints of the winners.

Team asset reviews

Share a batch of product photos, screenshots or design exports as one labeled sheet for quick team feedback.

Supported input formats

JPG

PNG

WebP

GIF

BMP

AVIF

Sizing guide

Auto for digital sharing and large batches, no page limit.

A4 or Letter when you actually plan to print the sheet on one page.

Getting a genuinely useful contact sheet

The word contact sheet comes from film photography, where every negative on a roll was laid directly against a sheet of photo paper and exposed at once, producing a single page of same-size prints for review before deciding which frames were worth enlarging. The digital version keeps the same idea, one page, every photo, quick to scan, but trades the darkroom for a canvas element and adds things film never had, filenames, sequence numbers, and dimensions printed directly under each thumbnail.

That heritage is also why this tool defaults to showing every photo in full rather than cropping it to fill a uniform grid cell, the way a photo collage tool like Collage Maker would. A contact sheet's entire job is letting you see accurately, cropping away part of a frame during review risks hiding exactly the detail that matters, a distracting object at the edge, a subject's expression, a composition problem. The crop to fill option exists for people who want a cleaner, more uniform look instead, a portfolio-style overview rather than a proofing document, but it is a deliberate opt-in rather than the default. If you only need to combine a handful of photos into one finished image rather than review a whole batch, Merge Images is a simpler fit.

Choosing between Auto and a print page size

Auto sizing exists because most contact sheets today are reviewed on a screen, shared as a file, or attached to an email rather than physically printed, and a screen has no fixed page boundary to work within. Auto simply grows the canvas downward to fit however many photos are added at whatever thumbnail size looks right, which means a batch of 12 photos and a batch of 150 both produce a sheet exactly as tall as they need to be, no wasted space and no forced shrinking.

The print page presets exist for the other case, when a sheet genuinely needs to come out of a printer as one physical page. Choosing A4 or Letter works backward from the fixed page dimensions to compute the largest thumbnail size that still fits every photo, which naturally means adding more photos to a fixed page size shrinks every thumbnail a little to make room. Past a certain batch size that shrinking produces thumbnails too small to actually review, at which point the tool shows a warning rather than silently producing a sheet nobody could use, the fix is almost always either adding a column or two, or switching to Auto sizing and printing across multiple pages, or combining several sheets into one document afterward with Images to PDF.

Making the labels actually useful

Filenames and sequence numbers solve two different problems. A filename is unambiguous, it points at one specific file on disk with no possibility of confusion, which matters most when a contact sheet gets forwarded on to someone who also has access to the original files and needs to open a specific one. A sequence number is faster to say and faster to read back, which matters most in a live conversation or a quick email, "I like 4, 12 and 19" is a lot less friction than typing out three full filenames. Both are on by default for exactly that reason, they solve different moments in the same review process. If you need deeper detail on one specific photo, camera model, GPS location, full EXIF, this tool intentionally skips that to stay fast on large batches, the image metadata viewer covers that for a single file instead.

Common contact sheet mistakes

Assuming photos get cropped to fill each cell automatically

Cropping is off by default. Every photo shows in full, letterboxed to fit its cell, since a review sheet's whole point is not hiding anything. Turn on Crop to fill in the layout panel for a uniform grid look instead.

Choosing a print page size for a very large batch

A4 and Letter presets compute thumbnail size backward from a fixed page, so a big batch shrinks every thumbnail to fit. If a warning appears, add a column or two, or switch to Auto sizing, which has no page limit.

Choosing JPG output with a transparent background

JPG can't hold transparency, so a transparent background gets filled white automatically on export. Choose PNG or WebP if you actually need the transparency to carry through.

Expecting camera EXIF data like model or date taken

This tool intentionally skips full EXIF parsing to stay fast on large batches. File size and last-modified date are available as sort options and as the optional info line instead.

Worrying that switching sort modes loses a manual drag order

It doesn't. Your manually dragged arrangement is preserved underneath whatever sort is currently applied, and switching back to Manual restores it exactly as you left it.

Why use ImgTweak?

Runs entirely in your browser, zero dependencies
No uploads, ever
Every photo shown in full by default, never silently cropped
Manual order preserved even when you switch sort modes
No hard limit on how many photos you can add
Free forever, no account needed

Frequently asked questions

What is a contact sheet?

A contact sheet is a single image showing thumbnails of many photos at once, traditionally used by photographers to review an entire roll of film printed on one page. The digital version serves the same purpose, a fast way to see every photo in a shoot, batch or archive at a glance without opening each file individually.

Why does this tool show the whole photo instead of cropping it?

A contact sheet exists for accurate review, so cropping away part of a photo would defeat the purpose, you might miss exactly the detail you needed to see. Every thumbnail is shown in full by default, letterboxed to fit its cell rather than cropped. A crop to fill option is available for anyone who prefers a cleaner, uniform looking grid instead.

How many photos can I put on one contact sheet?

There is no hard limit built into the tool. Auto sizing grows the sheet to fit however many photos you add at your chosen thumbnail size, so a batch of 20 photos and a batch of 200 both work, the sheet just ends up taller. Very large batches take a little longer to redraw after each settings change.

Can I show both filenames and numbers, or just one?

Yes, filenames and sequence numbers are independent toggles and both are on by default. Filenames are automatically shortened with an ellipsis if they are too long to fit under a thumbnail at your chosen size, and the sequence number appears as a small badge in the corner of each photo instead of competing for the same space.

How does sorting work?

Manual sort keeps whatever order you dragged the thumbnails into and is the only mode where dragging to reorder is available. Switching to sort by name, file size or date modified reorders the sheet without disturbing your manual arrangement underneath, switch back to Manual at any time to get it back exactly as you left it.

What happens if my photos do not fit on an A4 or Letter page?

Choosing a print page size computes the largest thumbnail size that still fits every photo on that one page. If the batch is too large for that to produce a usable thumbnail size, a warning appears suggesting more columns, fewer photos, or switching to Auto sizing, which has no page limit to work around.

What happens if I choose JPG with a transparent background?

JPG does not support transparency, so if you set the background to Transparent but export as JPG, the tool automatically fills the background white for you rather than producing a broken file. To keep an actual transparent background, choose PNG or WebP as the output format instead.

Does this tool read EXIF data like camera model or date taken?

Not in this version. Reading full EXIF data from every photo in a large batch adds real processing overhead for a detail most contact sheets do not need. Instead, file size and last-modified date are available immediately with no extra processing, and both work as sort options and as the optional info line under each thumbnail.

Is my image uploaded to a server?

No. The entire sheet, including every thumbnail, label and the final export, is built with the Canvas API directly in your browser. Nothing is sent to any server at any point. You can disconnect from the internet after the page loads and the tool still works.

Ready to build your contact sheet?

No sign-up. No uploads. Drop your photos above and download the sheet in seconds.