About

What PrintSheet is, why the whole tool runs in your browser, and how it fits into the DIY passport-photo workflow.

PrintSheet is a small, single-purpose website: it takes a passport, visa or ID photo that is already compliant and tiles it onto a correctly-sized printable sheet — 4×6, 5×7, A4 or US Letter — at true 300 dpi, ready for any photo lab or home printer.

Why this site exists

The economics annoyed us. A pharmacy charges $10–17 to print two passport photos; the same lab will print a 4×6 photo — which holds six or eight of them — for under fifty cents. The only thing standing between a compliant photo file and that cheap print is a layout step: tiling the photo at exact physical scale with sensible cutting guides. That step is a page of arithmetic, so we made it a page of JavaScript instead.

Two design decisions follow from that:

  • No upload, ever. There is no server-side image pipeline. Your photo is decoded, laid out and re-encoded by code running in this browser tab — load the page, go offline, and everything still works.
  • Layout only, no compliance claims. This tool deliberately does not judge whether your photo meets any country’s rules. Sizing on paper is a solved problem; photo acceptance is a human decision made by an issuing authority. Keeping those separate keeps the tool honest.

What the site covers

  • The sheet maker: photo-size presets (2×2 in, 35×45 mm, 33×48 mm, custom), four paper sizes, auto-fill counts, 300/600 dpi rendering, dashed cutting guides, PNG/JPEG download and a print-optimized output.
  • Where to print: realistic ways to get a 4×6 on paper — labs, pharmacies, mail order, home inkjet — with honest price ranges.
  • DPI explained: the mm→pixel formula, why 300 is the lab standard, and the metadata myths to ignore.
  • Cutting guide: trimmers vs scissors, the shared-cut trick, and how exact is exact enough.

How it’s built and maintained

PrintSheet is a static site on Cloudflare’s edge network — there is no image-processing backend to send anything to. The layout engine is a few hundred lines of dependency-free JavaScript that computes in millimetres and renders at the chosen DPI, so the output dimensions are verifiable with a ruler. It’s maintained by a small independent team that builds focused utility sites, and is not affiliated with any government, passport authority or photo lab.

A layout that measures wrong, a paper size we’re missing? Contact us — bug reports go to the front of the queue.