Multi-photo PDFs — page order, layout, and what's actually in the file
When you drop several photos into JPG2PDF, what comes out is one PDF with one page per photo. This article covers the practical details: page order, page size, what's preserved from each JPEG, and how the final file sizes up. For the byte-level breakdown of one page, see the file-size article; this one focuses on the multi-page assembly.
Page order
Pages appear in the PDF in the order the thumbnails are arranged in the upload list. Files dropped together arrive sorted by name, but you can drag thumbnails to reorder them before hitting Convert. The PDF preserves that order — there is no internal reshuffling by date, EXIF capture time, or any other field.
For a stack of receipts or scanned pages where the names already encode the order (scan_001.jpg, scan_002.jpg, …), the default ordering is usually correct. For a vacation album where you want chronological order but the file names don't reflect it, drag-to-reorder before converting.
Per-page layout
Each page is A4 (595 × 842 pt, or 8.27 × 11.69 inches). The photo is fitted to the page with aspect ratio preserved: a portrait photo fills the page width, a landscape photo fills the page width and the page itself flips to landscape orientation so the photo lands edge-to-edge horizontally. The result is no cropping and minimal whitespace — typically 1–2 cm of margin on the short axis.
EXIF Orientation is applied during embedding, so phone photos taken in portrait or landscape end up the right way up regardless of how the sensor stored them. ICC color profiles in the source JPEG are preserved per page (Display P3 from iPhones, Adobe RGB from cameras shooting in that mode, sRGB from everything else).
The page itself contains a single image XObject reference (q W H 0 0 0 0 cm /Im0 Do Q) — no margins, captions, page numbers, or other PDF chrome. Pure photo on white.
File size of the result
For N photos, the output PDF is approximately the sum of the input JPEG sizes plus a few kilobytes per page of PDF framing. With 20 typical phone photos at ~3 MB each, the output is around 60–62 MB — overhead is essentially noise. JPG2PDF preserves EXIF metadata across the conversion: source CreateDate, Author, and Copyright are copied into the output PDF's /Info dictionary, and the in-JPEG EXIF block survives the lossless repack the tool applies. If you're hoping the conversion will strip metadata, this isn't the right tool — see a dedicated EXIF-stripping utility instead.
If the result is too large for an upload limit, the only lever is to recompress the photos themselves. Resizing to 2000-pixels-on-the-long-edge before converting typically cuts the file by 4×; re-encoding at a lower JPEG quality cuts another 30–40%. The PDF wrapper itself can't be made smaller than the JPEGs it carries.
What JPG2PDF doesn't handle
JPG2PDF produces one photo per page, fitted to A4. A few common adjacent tasks are out of scope:
- Contact sheets / grid layouts (2-up, 4-up, 9-up). Photo-management apps with a "print to PDF as grid" feature are the standard tool — Lightroom, Apple Photos, Adobe Bridge, or open-source utilities like
imagemagick montage. - Custom paper sizes (Letter, A3, 4×6, square). Most photo editors expose paper-size in their "Save as PDF" dialog. Render to PDF at the size you want first, then combine with CombinePDF if needed.
- Edge-to-edge with crop instead of letterbox. Crop each photo to the page's aspect ratio in any image editor before uploading.
- Captions or labels. Word processors handle this directly: insert image, add caption, repeat, export PDF.
- Photo books with editorial templates. Online photo-book services (Blurb, Mixbook, Snapfish) accept JPGs and produce printed-and-bound books — a different problem domain.
Combining a multi-photo PDF with other PDFs
The output of JPG2PDF is an ordinary PDF and concatenates cleanly with anything else. A typical workflow that comes up: photo PDF from JPG2PDF, cover page or text introduction made in a word processor, then everything bound together with CombinePDF. Each step does one thing and the outputs compose without surprises.