Loading
Loading tool
Preparing the tool. The remaining time is not yet known.
All processing for this tool happens in your browser. Your input is not sent to a server.
About this tool
Create image collages or contact sheets with rectangular thumbnail grids, numbered captions or file-name labels, entirely locally.
Common uses
- Create a numbered visual index for a batch of images.
- Compare wide, tall and square images without stretching.
How to use it
- 1.Choose 2–30 local raster images or load the three-color example. Input order determines cell and caption order.
- 2.Keep grid or horizontal layout, or choose contact sheet and set columns, rectangular cell width/height, gap and no captions, image numbers or file names.
- 3.Review the encoded preview, dimensions, format and private caption names, then download the same validated file.
Executable local examples
PNG 164×184
Local example: blue 64×32, red 32×64, green 48×48; contact layout, two columns, 80×64 cells, gap 4, numbers, font 14.
PNG preview and download dimensions: 164×184. Cell order follows input order; caption numbers are 1, 2, 3.
PNG 164×132
The same three images and contact layout with no captions.
PNG preview and download dimensions: 164×132. Aspect ratios and spacing remain; caption bands are absent.
Limits and notes
- 2–30 PNG/JPEG/WebP/GIF/BMP images; each ≤20 MiB, total ≤60 MiB. Each input ≤4096 pixels per edge and 8 million pixels; combined inputs ≤32 million pixels. Output ≤8000 pixels per edge, 40 million pixels and 32 MiB. Each asynchronous phase: 30 seconds.
- Grid keeps square cells; horizontal layout keeps the entered height with each width proportional to its source. Contact sheets contain-fit and center each image in its rectangular cell without cropping, then add a font-size + 12 pixel caption band. There is no outer margin; gaps separate cells and rows.
- File names are optional visible export content. Captions strip C0/C1 and bidi controls, collapse whitespace, bound their length, clip to the caption band and ellipsize using native font measurements. Font appearance and glyph coverage vary by browser.
- PNG/WebP can retain transparent empty space; JPEG uses a white background. Native codecs must return the requested MIME and output must decode at the planned dimensions before preview/download. Raster-only signatures followed by native decode; SVG is excluded. Animated images use a native static frame; metadata is not preserved.
- File/settings/language changes, clear, cancel and navigation invalidate pending output and downloads. Batches publish only after every source passes checks. Native decode/canvas allocation may consume memory before limits can reject; byte and pixel guards are not a universal memory guarantee. Processing is local, without upload or persistent storage.
Frequently asked questions
How large is the local example?
The blue 64×32, red 32×64 and green 48×48 images use two columns, 80×64 cells, gap 4 and numbered 14-pixel captions. The sheet is 164×184; without captions it is 164×132.
Are images stretched or cropped?
No. Images fit inside cells at their original aspect ratio, with unused space around them. Contact captions add a separate row band, while legacy grid and horizontal layouts omit captions.
Can private file names be shared accidentally?
Yes. When file-name captions are selected they become visible pixels. Number captions are the default contact option. Review the preview and switch to numbers or no captions before sharing.