About the PrintSheet tool
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 an independent, compact team that builds focused utility sites, and is not affiliated with any government, passport authority or photo lab.
Photo sizes come from the rules the size guide links — State Department, GOV.UK, China’s visa centre. AI assistance produced the layout code and the page text, as directed by the project’s operators. Its test script asserts the tile math — six 2×2 in or eight 35×45 mm photos per 4×6 sheet, 36 on A4 — and the 300 dpi stamped into the download.
A layout that measures wrong, a paper size we’re missing? Contact us — bug reports go to the front of the queue.