Image Contact Sheet Maker
Put the whole collection in view. Arrange local photos into thumbnail grids with labels, page layouts and clean image downloads.
- 01Add your images
- 02Make it your own
- 03Save your result
Build a thumbnail overview
Up to 40 images · 20 MiB and 24 megapixels per image · 100 MiB combined. PNG, JPEG, WebP, GIF and BMP; animated images use a still frame.
Your contact sheets
Each image download is one page. The manifest includes original filenames, source dimensions and page placement, without original image bytes. Output labels may expose filenames; choose numbers or no labels when needed.
How to make a photo contact sheet
- Choose or drop PNG, JPEG, WebP, GIF or BMP files. You can add more images before generating.
- Use Up, Down, Remove or Sort by filename to set the thumbnail order.
- Choose columns, rows per page, thumbnail size, fit, labels, title and background. Filenames are drawn as literal text and shortened to fit.
- Generate, preview each page and download PNG or JPEG pages. Use the JSON manifest if you need the ordered filename/page mapping.
Prepare a numbered photo shortlist for review
Numbered thumbnails let a reviewer refer to a photo without reading long filenames. Keep the optional manifest privately when you need to map those numbers back to the originals.
- Add your photos, then use Up, Down or Sort by filename to establish the order before generation. For a chronological set, inspect the actual order rather than assuming filename sorting follows capture time.
- Choose three columns and two rows per page. In an authored example with 17 photos, capacity is six per page: photos 1–6, 7–12 and 13–17 appear on three sheets. The last sheet needs two rows.
- Use Contain for comparing the full composition. Cover crops centrally and can hide a detail near the edge. Choose image-number labels when filenames would distract from the review.
- Generate and inspect every page, then download each required sheet. Keep the JSON manifest if you need the ordered filename-to-page mapping.
Changing order or settings invalidates the previous download set; regenerate before sharing a revised shortlist. Hiding filenames on the sheets does not hide them in the manifest. PNG and JPEG sheets use an opaque background, so they are visual overviews rather than transparent copies of the source images.
This is a planning exercise, not a supplied photo collection or generated contact sheet. Use Resize Image for separate resized files, or Image Editor Studio for a manually composed presentation.
Layout and fitting
Contain preserves the full image with padding as needed. Cover crops centrally to fill a thumbnail cell. The browser applies its supported image-orientation behavior when decoding. No editing is applied to the source files. Labels can show filenames, image numbers or nothing. Titles are limited to 80 Unicode code points, with long titles shortened visually to fit the page.
Sheets have 24-pixel outer margins, 16-pixel gaps and an optional title/label area. Columns range from 1–6, rows per page from 1–8, thumbnail widths from 120–500 pixels and heights from 90–400 pixels. The last page uses only the rows needed. Large selections are split into separately downloadable pages.
Formats and limits
Up to 40 images, at most 20 MiB and 24 million source pixels each, with neither side above 32,768 pixels, and 100 MiB combined. Image headers are checked with bounded reads before decoding. SVG, HEIC, AVIF, PDF and other containers are outside this tool's accepted inputs. Animated files use a still frame.
Each output canvas is limited to 4,096 pixels per side and 16 million pixels. The combined encoded output limit is 64 MiB. PNG and JPEG output are opaque, using your background colour; JPEG uses quality 90%. Images are decoded sequentially and decoded bitmaps are closed after drawing to limit memory use. Generation has a 60-second deadline and can be cancelled.
Privacy and output
Files stay in page memory with no uploads or browser-storage persistence. The tool does not fetch image URLs. Original files are not changed. Canvas exports contain the generated grid; original EXIF data is not copied, but filenames/titles you choose to draw remain visible in the image.
Reordering, removing, adding images or changing settings invalidates previous downloads. Clear and leaving the page release files, previews and object URLs. Cancellation or a decode failure produces no partial download set; select smaller/supported images and retry. The manifest includes filenames and source-header dimensions, which may differ from oriented display dimensions.
Frequently asked questions
Is this the same as resizing a batch of images?
No. Batch resizing creates separate image files. This tool combines multiple thumbnails into overview pages, useful for reviewing a collection.
Can I keep the complete photo visible?
Choose Contain. Cover crops the center of the image to fill the thumbnail.
Can I hide filenames?
Choose image numbers or no labels. The optional manifest still includes the original names.
Continue your workflow
Overview pages or individually resized photos?
Use contact sheets to review a collection in one grid; choose Resize Image when you need separate resized files. Contain keeps each complete photo visible and Cover crops its center. Hiding on-sheet filenames does not remove them from an optional JSON manifest.
Resize Images Online - Pixels, Percentage & Fit · Image Format Converter - JPG, PNG, WebP & More · Online Image Editor with Layers