Avo

Image Reference Sheet

Arrange up to 24 JPEG, PNG or WebP images into one reference sheet: set the order, columns, spacing, title and labels, download it as a PNG or a one page PDF, and save it on this device or as a project file to reopen later.

References on one sheet

Drop images here

JPEG, PNG and WebP. Up to 24 images. Processed in this browser.

Title
—
Images
—
Grid
—
Cell
—
Sheet
—
Saved
Not saved
Runs locally. Nothing uploaded.←→ select an image ·Alt + ←→ move it

Verified facts

Inputs
JPEG, PNG, WEBP
Output formats
PNG, PDF
Processing
In your browser. No media upload.
Access
Free · No signup

Still JPEG, PNG and WebP only, under the extensions .jpg, .jpeg, .png and .webp. Every file is identified by its raster header rather than its name or its type, and an animated PNG or WebP, an SVG, a HEIC file or a truncated image is refused before anything is decoded.

How to use it

  1. Press Add images and choose files from your device, or Try a sample. One sheet holds up to 24 images, and a second import adds to the sheet rather than replacing it.

  2. Select an image in the strip. Use Move earlier or Move later to change its position. Arrow keys change the selection. Alt with an arrow key moves the selected image. Use Label to write its caption. Replace image swaps its file and Remove takes it off the sheet.

  3. Use the Sheet panel to set the title and choose two to four columns. Adjust Spacing and Fit. Show labels controls whether captions appear. Cells are square. Contain fits the whole image inside the cell. Cover fills the cell from the centre and crops what does not fit. Neither setting stretches an image.

  4. Choose Width and Format in the export bar. Check the pixel size under Sheet and press Download sheet. Use Save on this device or Save project file before leaving if you want to reopen the sheet.

Limitations

  • A sheet holds up to 24 images in the order you arrange them.
  • One file is read up to 20 MiB, 24 megapixels and 8,192 pixels on its longest edge. A sheet holds up to 80 MiB of source files in total.
  • Each image is rotated to its EXIF orientation by the browser and re-encoded as a PNG working copy of up to 1600 pixels on its longest edge, with transparency kept. The working copy is what the sheet draws, what the export writes and what a project file carries. The original file is not kept, so a sheet is not an archive of your images.
  • Cells are square. Contain fits the whole image inside the cell and leaves the sheet background around it; cover fills the cell from the centre and crops the rest. Neither stretches an image.
  • Transparent parts of an image show the sheet background. The sheet itself is written without transparency.
  • The title takes up to 80 characters and a label up to 60. Both wrap over two lines and shrink to fit rather than being cut off.
  • The sheet is written at up to 4,096 pixels wide, 8,192 pixels on its longest edge and 12 million pixels in total. Many rows of square cells make a tall sheet, so a chosen width is reduced when the height would pass one of those limits. The size the sheet is actually written at is shown before you export it.
  • The PDF holds the sheet as one page of image, turned to match the sheet and fitted inside the page margins. Its text is part of that image, so it cannot be selected or searched.
  • Save on this device writes the sheet into this browser's IndexedDB storage, in one slot that each save replaces. It stays until you delete it here or clear this browser's site data, it is readable by this browser only, and private or incognito windows usually discard it when they close.
  • A project file is a JSON file of up to 100 MiB that carries the working copies inline, so it opens on another device without the original images. Opening one checks every embedded image against its own header before the sheet is replaced; a file that fails any check leaves the current sheet untouched.
  • Everything runs in this browser. No image is uploaded, and no account is required.
  • Still JPEG, PNG and WebP only, under the extensions .jpg, .jpeg, .png and .webp. Every file is identified by its raster header rather than its name or its type, and an animated PNG or WebP, an SVG, a HEIC file or a truncated image is refused before anything is decoded.

A sheet you assemble

Arrange your reference images on one sheet. Set their order and add a title. You can add a caption to each image. Export the sheet to share or print.

Choose the still images to add from your device. This tool does not read video or rank images. Use the Video Frame Extractor to save individual stills from a clip. Use the Video Contact Sheet to select and arrange video frames automatically.

Columns, cells and the size of the sheet

Every cell is square and the same size. Columns set how many images fit across the sheet. The number of images determines the rows. The layout reserves two lines above the grid for a title. It also reserves two lines below each cell for a caption. Longer text wraps within that space.

Choose a width of 1600, 2400, 3200 and 4096 pixels. The default is 3200 pixels. The export is limited to 4,096 pixels wide. Its longest edge is at most 8,192 pixels. The total cannot exceed 12 million pixels. More rows make the sheet taller and can reduce its width to fit these limits. The export bar shows the requested and actual width before download.

These are limits chosen for this tool. A browser or device may have a lower canvas limit. The largest sheets may not export on every device.

Asked for at 3200 pixels wide, comfortable spacing, a title and labels on.
ImagesGridWritten sheet
42 × 23137 × 3824, reduced from 3200
93 × 33140 × 3819, reduced from 3200
124 × 33200 × 2993
243 × 81975 × 6070, reduced from 3200

What the sheet is made of

The browser decodes each imported image and applies its EXIF orientation. It creates a PNG working copy of up to 1600 pixels on its longest edge. Transparency is preserved. The preview and export use this copy. Project files also contain the working copies. The tool releases the original file after import. Keep your originals separately.

A full sheet of 24 images at three columns has cells around 600 pixels wide. A short sheet at two columns can have cells up to about 1900 pixels wide. A cell wider than 1600 pixels enlarges the working copy. This can look softer than the original image.

The title accepts up to 80 characters. A label accepts up to 60. Longer text wraps over two lines and shrinks to fit. Captions stay below their images without cutting off the text.

Keeping a sheet

Save the sheet in this browser or download a project file. Both require you to choose a save action.

ActionWhat it does
Save on this deviceSaves one sheet in this browser. Each save replaces the previous saved sheet after confirmation. Restore saved opens it again. Delete saved removes it. It survives closing the tab but clearing site data removes it. A private window usually discards it on close.
Save project fileWrites an avoref.json file to your downloads with the working copies inside it, so Open project file rebuilds the sheet on another computer with no access to the original images.

A project file is JSON and can be up to 100 MiB. Opening one checks its format and version. It also checks every embedded image against its raster header. A failed check leaves the current sheet unchanged.

Try a sample and Restore saved replace the current sheet. Open project file also replaces it. Each action asks for confirmation while there is work on screen. Leaving with unsaved changes requests a browser warning. Browsers may omit that warning. Save your sheet before leaving.

PNG or PDF

OutputWhat you receive
PNGOne raster image of the whole sheet at the size named in the export bar. Use it to send the sheet, open it in another tool or print it yourself.
PDFThe same raster sheet on one page, turned to match the sheet and fitted inside the page margins. Its text is part of the image, so it cannot be selected or searched, and a small caption can be hard to read at print size.

Privacy and processing

Reading, arranging and writing the sheet happen in this browser. Your images are not uploaded to Avo servers, and no account is required.

The page itself is fetched over the network like any website. The sample images are drawn in the browser rather than downloaded, so pressing Try a sample sends no request for media. Local processing is not an offline mode and is not a statement about site analytics.

Save on this device keeps one sheet in this browser for this site to read. It does not create an account or sync the sheet. No copy reaches Avo. Save a project file if you need a separate copy.

Questions

Are my images uploaded?

No. Files are read, resized and drawn in this browser, and the finished sheet is written there too. No image leaves your device and no account is required.

Is my sheet saved automatically?

No. Save on this device writes it into this browser and Save project file writes it to a file. Until you press one of those, closing the tab loses the sheet. The page asks the browser to warn you on the way out, and a browser decides for itself whether to show that.

Does the sheet use my images at full resolution?

No. Each import is re-encoded to a PNG working copy of up to 1600 pixels on its longest edge, and that copy is what the sheet and the export contain. A cell wider than that, which a short sheet at two columns reaches, draws the copy larger than its own pixels.

Can I put frames from a video on the sheet?

Not from here. This tool reads image files. Export the frames you want with the Video Frame Extractor, then add those files to a sheet.

Can I open a sheet on another computer?

Yes, with Save project file. The avoref.json file carries the working copies inside it, so Open project file rebuilds the sheet without your original images. Save on this device stays in the browser you saved it in.

Does Contain crop my images?

No. Contain fits the whole image inside its square cell and leaves the sheet background around it. Cover is the one that crops: it fills the cell from the centre and drops what falls outside. Neither setting stretches an image.

Why was my image refused?

Still JPEG, PNG and WebP only, under the extensions .jpg, .jpeg, .png and .webp. Every file is identified by its raster header rather than its name or its type, and an animated PNG or WebP, an SVG, a HEIC file or a truncated image is refused before anything is decoded.