How to Fit Multiple Images onto One A4 Page
Learn how to arrange, resize, and print multiple photos on one A4 sheet using contact sheets, print dialogs, and a Python workflow.
Use a contact sheet or picture-package layout. Select your images, choose A4 paper (210 × 297 mm), pick portrait or landscape orientation, set rows and columns or an image-count preset, then check the preview before printing. The exact number that fits depends on image proportions, margins, gaps, printer printable area, and the size you need each image to be.
How many images fit on A4?
A4 is 210 × 297 mm under ISO 216. After printer margins, a typical usable area is smaller than the full sheet. Your grid determines the cell size:
| Grid | Cells | Best use | Trade-off |
|---|---|---|---|
| 2 × 2 | 4 | Large photos or portfolio proofs | Few images per sheet |
| 2 × 3 | 6 | Portraits and mixed photos | Moderate image size |
| 3 × 3 | 9 | General contact sheets | Smaller thumbnails |
| 4 × 4 | 16 | Catalogs and proofing | Fine details may be hard to see |
| 5 × 6 | 30 | Reference sheets | Very small cells |
There is no universal maximum. Calculate the cell width and height after subtracting margins and gaps, then verify that the result is large enough for your purpose.
Choose the layout before printing
- Set media: choose A4, not Letter.
- Choose orientation: portrait gives more rows; landscape gives wider cells and often suits landscape photos.
- Choose a grid: start with 2 × 2, 3 × 3, or 4 × 4.
- Set fit behavior: “Fit” preserves the entire image; “Crop to fill” removes edges to fill each cell.
- Set margins and gaps: leave room for the printer’s non-printable edges.
- Preview: inspect every image for cropping, rotation, clipping, and unexpected blank space.
macOS Photos: print a contact sheet
Apple Photos has a built-in Contact Sheet format. Select one or more photos, choose File > Print, select Contact Sheet (or Custom), choose the printer and paper settings, and print. Apple documents that a contact-sheet format prints more than one photo per page and allows photos to be resized.
- Import or select the photos in Photos.
- Choose File > Print.
- Select Contact Sheet or Custom.
- Set paper size to A4 and choose portrait or landscape.
- Adjust the number of images, spacing, and size.
- Review the preview, then print.
Source: Apple’s print-your-own-photos guide.
Photoshop Elements: Contact Sheet or Picture Package
Photoshop Elements supports both Contact Sheet and Picture Package layouts. Select multiple files in the Photo Bin, choose File > Print, then select the layout. Set A4 paper, paper type, printer settings, layout direction, and whether to save a PDF or print.
- Open the images and select them in the Photo Bin.
- Choose File > Print.
- Choose Contact Sheet for a regular grid or Picture Package for repeated sizes.
- Set A4, orientation, margins, captions, and borders.
- Check the preview and print or save to PDF.
Source: Adobe’s Photoshop Elements printing guide.
Canon Digital Photo Professional
In Canon Digital Photo Professional, select the images and choose File > Print contact sheets. Configure the printer, media size, orientation, and image settings, then inspect the preview and print.
Source: Canon’s contact-sheet instructions.
Adobe Bridge: create an A4 PDF contact sheet
Use the Output workspace when you need a PDF instead of sending a job directly to a printer. Add the images, choose PDF contact-sheet output, set rows and columns, select A4, and export. The resulting PDF can be printed later or shared.
Source: Adobe Bridge’s PDF contact-sheet guide.
Any application with a print dialog
For an existing PDF or document, open the print dialog and look for Pages per sheet, Multiple pages per sheet, or Layout. Set A4 and choose the pages-per-sheet value. Use layout options to control margins and gaps. This method places document pages on a sheet; it does not always provide photo cropping, captions, or mixed-aspect-ratio controls.
Source: Microsoft’s printing guidance.
Make an A4 contact sheet with Python
The following script creates a 300-DPI A4 JPEG contact sheet. It preserves each image’s complete contents inside its cell, centers it, and adds a small white gap. Change COLS, ROWS, and LANDSCAPE to change the layout.
from pathlib import Path
from PIL import Image, ImageOps, ImageDraw
INPUT_DIR = Path("photos")
OUTPUT = "a4-contact-sheet.jpg"
DPI = 300
A4_PORTRAIT = (int(210 / 25.4 * DPI), int(297 / 25.4 * DPI))
COLS, ROWS = 3, 3
LANDSCAPE = False
MARGIN = int(8 / 25.4 * DPI)
GAP = int(4 / 25.4 * DPI)
page_w, page_h = A4_PORTRAIT
if LANDSCAPE:
page_w, page_h = page_h, page_w
usable_w = page_w - 2 * MARGIN - (COLS - 1) * GAP
usable_h = page_h - 2 * MARGIN - (ROWS - 1) * GAP
cell_w, cell_h = usable_w // COLS, usable_h // ROWS
files = sorted(p for p in INPUT_DIR.iterdir()
if p.suffix.lower() in {".jpg", ".jpeg", ".png", ".webp", ".tif", ".tiff"})
page = Image.new("RGB", (page_w, page_h), "white")
for index, path in enumerate(files[:ROWS * COLS]):
with Image.open(path) as source:
image = ImageOps.exif_transpose(source).convert("RGB")
image.thumbnail((cell_w, cell_h), Image.Resampling.LANCZOS)
x = MARGIN + (index % COLS) * (cell_w + GAP) + (cell_w - image.width) // 2
y = MARGIN + (index // COLS) * (cell_h + GAP) + (cell_h - image.height) // 2
page.paste(image, (x, y))
page.save(OUTPUT, "JPEG", quality=95, dpi=(DPI, DPI))
print(f"Saved {OUTPUT} with {min(len(files), ROWS * COLS)} images")
Install Pillow with python -m pip install Pillow, put images in a photos folder, then run python contact_sheet.py. For more than one page, split the file list into chunks of ROWS * COLS and save each page separately.
Fit versus crop: choose deliberately
- Fit to cell: shows the whole image, but may leave white bands when aspect ratios differ.
- Crop to fill: creates uniform tiles, but can remove faces, labels, or other important edges.
- Mixed orientations: use fit mode for archives and crop mode only when every image has a similar composition.
- Rotation: correct EXIF orientation before building the sheet; otherwise phone photos can appear sideways.
Quality, margins, and paper settings
- Confirm the printer and document both use A4 (210 × 297 mm), not Letter.
- Use the paper profile or media type matching your A4 stock.
- Leave margins inside the printer’s printable area; borderless mode is printer-specific.
- Use a test sheet on plain paper before glossy or matte photo stock. Microsoft recommends a test sheet for alignment and layout checks.
- At 300 DPI, a full A4 canvas is approximately 2480 × 3508 pixels. A 3 × 3 grid still gives substantially more detail than a 5 × 6 proof sheet.
Troubleshooting
| Problem | Likely cause | Fix |
|---|---|---|
| Edges are clipped | Letter paper, oversized margins, or a non-printable edge | Set A4 in both the app and printer driver; reduce cell size or margins. |
| Images look stretched | Width and height were forced independently | Use preserve-fit scaling or crop with a deliberate focal point. |
| Photos are sideways | EXIF orientation was ignored | Rotate according to EXIF before placing images. |
| Some cells are blank | Unsupported files, transparent images, or fewer files than cells | Convert unsupported formats, flatten transparency onto white, and check the input list. |
| Print is too dark or dull | Wrong paper profile or quality mode | Select the actual paper type and an appropriate quality setting; compare a test print. |
| PDF and paper differ | Printer scaling such as “Fit to page” changed dimensions | Print at 100% or Actual Size and disable automatic scaling. |
| Details are unreadable | Too many rows or columns | Use fewer cells, landscape orientation, or a second page. |
Performance, reliability, and cost
For occasional sheets, a built-in contact-sheet tool is fastest. For repeatable batches, generate a PDF or image with a fixed template so every page uses the same margins and grid. Large source files increase processing time and memory use; downscale copies to the target cell resolution when the originals are much larger. Keep the originals unchanged and generate a separate print asset.
Printing costs depend on paper, ink, and printer settings. A test page prevents wasting photo stock. If you need a physical sheet, use the application or script above; if you first need clean screenshots of web pages to place into a contact sheet, ScreenshotNeo can automate that capture.
Or skip the browser setup
ScreenshotNeo is a website screenshot API and MCP server. One request returns a PNG, JPEG, WebP, or PDF. It accepts cookie and consent banners as a visitor and removes more than 60 known consent platforms, newsletter popups, and chat widgets before capture. Bot checks, blank pages, timeouts, failed loads, and cache hits cost nothing, and the response reports the result with X-Page-Verdict and X-Billed headers. Its MCP server provides take_screenshot, get_page_info, and capture_pdf tools for Claude, Cursor, and other MCP clients.
See the ScreenshotNeo API documentation for all options.
cURL
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
Python
import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)
Node.js
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
The free plan includes 1,000 screenshots each month with no card. Paid plans start at $5 for 3,000 shots. Create a free ScreenshotNeo account.
FAQ
Can I fit different-sized photos on one A4 page?
Yes. Use a preserve-fit contact sheet to keep every photo intact, or crop each cell when a uniform grid matters more than the full frame.
Should I use portrait or landscape A4?
Choose portrait for more vertical rows and landscape for wide images or more columns. Let the dominant image orientation decide.
Is A4 the same as US Letter?
No. A4 is 210 × 297 mm; US Letter is a different size. Select A4 in both the document and printer settings.
How do I make a PDF instead of printing?
Use Adobe Bridge’s Output workspace, Photoshop Elements’ print-to-PDF option, or export the contact-sheet image/PDF from your chosen application.
Why is there no fixed maximum number of images?
The practical limit changes with margins, aspect ratios, printer limits, and the minimum readable size you require.


