Dev Tools
Client-sidefiles never upload

Image → PDF

Drop multiple images (JPG / PNG / WebP / HEIC), pick paper size, orientation, items-per-page, margin and quality, and get a single PDF out. Everything runs in your browser — photos never upload.

Paper size
Orientation
Per page
How to use
  1. Configure the paper size (A4 default), orientation (Auto picks based on the first image), items per page (1 / 2 / 4-up; 4-up is great for receipts), margin, and JPEG quality.
  2. Drop one or more images (JPG / PNG / WebP / HEIC supported). Thumbnails appear in a sortable list below.
  3. Use ↑ ↓ to reorder, or to drop an image. The list order *is* the page order.
  4. Hit Download PDF — pdf-lib stitches everything together in your browser and pushes the file straight to your downloads.
Tips
  • HEIC decodes via lazy-loaded WASM. The first file is slower (~600 KB decoder); subsequent files are quick.
  • 4-up on A4 portrait is the receipt-stacker. 1-up on Letter is the CV-photo layout.
  • Default JPEG quality is 92 — push to 95+ for screenshots with small text, drop to 80–85 for pure photos.
  • Everything is re-encoded to JPEG inside your browser before being embedded — nothing is uploaded anywhere.

Image to PDF: The Complete Guide — JPG / PNG / HEIC Merge, Paper Sizes & Margins

Office expense reports, school assignments, signed contracts — merging photos into a single PDF is a daily need. "Image to PDF" sounds simple but has plenty of gotchas: will HEIC open, A4 vs Letter, N-up layout to save paper, will the printer crop margins. This guide uses our `image-to-pdf` tool as the worked example, covers each detail in one place, and runs entirely **client-side — your files never leave the browser**.

Why "client-side" beats cloud PDF converters

Most online PDF tools upload your image to their server, convert there, and let you download the result. For receipts, contracts, ID photos, or anything sensitive, that flow has real privacy issues: - Is your file retained? For how long? - Is it used as training data? - Can corporate firewall middleware decrypt the SSL and see contents? A client-side approach uses pdf-lib, heic2any and similar libraries in your browser — your file never produces a network request that leaves your machine. The cost: ~500 KB of JS on first load. After that, it works fully offline.

Can it merge HEIC / JPG / PNG / WebP all together?

JPG / PNG / WebP just work — browsers decodes them natively. HEIC (iPhone default) needs transcoding first. AirDropping HEIC iPhone → Mac is fine, but sending to Windows or uploading to most PDF tools fails to open. We use heic2any in the browser to decode HEIC into JPEG, then push it through the PDF pipeline. Watch out: HEIC decoding is CPU-heavy. A 12 MP photo takes 1–2 seconds on a mid-range phone. Processing 30 HEICs at once will freeze the UI for tens of seconds — in production code you'd use a Web Worker or batch processing to keep the main thread responsive.

Paper choice: A4 vs Letter vs A5 vs Legal

A4 (210×297 mm): global standard, mandatory for most Asian / European corporate paperwork. Letter (8.5×11 inches, ~216×279 mm): US / Canada standard. Shorter than A4 — printing on an A4 printer leaves a blank strip. A5 (148×210 mm): half of A4. Booklets, menus, pocket notes. Legal (8.5×14 inches): US legal documents. Much longer than Letter. Picking the wrong size won't fail to print — it'll scale your content, making photos blurry and text edges jagged. Rule of thumb: unless you have a specific reason, use A4 globally.

1-up / 2-up / 4-up layouts: when to use which

"N-up" packs N thumbnails onto each page: - 1-up: one photo per page. Best quality, but 30 photos = 30 pages — expensive to print. - 2-up: two per page. Great for paired vertical photos (passport front / back, two receipts). - 4-up: four per page. Ideal for expense receipts (your boss looks at amounts, not detail). 30 receipts → 8 pages, saves paper and is easier to file. Advanced: combine 2-up with duplex printing — each physical sheet then carries 4 photos. Most printers support duplex.

Common gotchas: margins, resolution, font blur

Margins too small get clipped: most consumer printers reserve 5–10 mm of unprintable area. Aim for ≥ 15 mm. Low-resolution images print blurry: 1080p looks sharp on a screen but at full A4 you need ~300 DPI. A 1920×1080 screenshot fills A4 at ~160 DPI — text becomes obviously soft. OCR the screenshot first, then print the OCR'd text — much sharper. JPEG quality set too low: tools default to 80% (you can't tell). But below 60%, text edges show "ringing" compression artefacts. For important documents, set quality ≥ 95%.

Try it: drop a batch of iPhone photos into [the Image → PDF tool](/en/tools/image-to-pdf), pick A4 + 4-up + 95% quality. Nothing leaves the browser. Drag the output straight into your expense system.

Related tools