Contact Sheet Maker
Lay a shoot out as numbered thumbnails on printable pages. Every number leads back to its file.
Drag & drop files here, Ctrl+V to paste, oror
Runs in your browser
Numbers That Lead Back
Every frame is numbered in sheet order. The CSV and text list give each number its page and its full file name, so a client's picks match the right files.
Checked Before Download
The PDF is opened again and its pages counted and measured. PNG pages are decoded and compared pixel for pixel. A mismatch stops the download with a message.
Client Photos Stay Local
Unreleased shoots are read and laid out on your own device. Nothing is uploaded, nothing is stored, and no account is needed.
How it works
What a contact sheet is for
A contact sheet shows a whole shoot as small numbered frames on a few pages. The name comes from film, where the negatives were laid straight onto photo paper. Today it is how a photographer sends proofs: the client looks through the pages and replies with a list of numbers, and the photographer edits those frames and nothing else.
Why the numbers matter more than the pictures
A proof is only useful if every number comes back to the right file. Frames are numbered 1 to n in the order on the sheet, across every page. The CSV and text lists give each number its page and its full file name, even when a long name had to be shortened under the thumbnail. Change the order and the numbers, the pages and the list all follow it.
Fit or fill, and what 150 or 300 DPI means
Fit shows the whole photo inside its area, so a portrait frame next to a landscape one stays uncropped. Fill crops the centre so every cell is covered, which looks tidier but hides the edges. 150 DPI is fine on screen and keeps the PDF small; 300 DPI is for print. A thumbnail is never enlarged past the pixels it has, so a small photo sits smaller in its area and the page says how many did.
Captions, capture date and order
Under each frame you can show the number, the file name, the pixel size and the capture date from the EXIF data. Order by file name uses natural order, so IMG_2 comes before IMG_10. Order by capture date uses the time the camera wrote; photos without one go last in the order you added them, and the page counts them.