Passport photo maker
Drop in a selfie. The crop, the white background and the 4×6 print sheet are worked out on your own device — the photo never leaves this tab.
Make the photo
Drop a photo here
JPG, PNG, WebP or HEIC · up to 12 megapixels · you can also paste with ⌘V / Ctrl+V
Nothing loaded yet.
More than one face here
Pick whose photo this is. Everything is measured from that face.
Your photo
Downloads are redrawn from scratch: no EXIF, no GPS, no camera model. The PNG carries a 300 DPI print flag so a lab prints it at the right size.
How it works
- Two models, both on your deviceYuNet (229 KB) finds the face and five landmarks; MODNet separates you from whatever is behind you. Nothing is sent to a server — the page only downloads the model files.
- The crop is measured, not guessedThe top of your head comes from the cut-out mask, the chin from the face box, the eye line from the eye landmarks. Those three numbers decide the crop for the size you picked.
- One photo, or a sheet you can printDownload the single file for an online form, or the 4×6 inch sheet at 300 DPI — six US photos or eight 35×45 mm ones per print, with cut lines.
Sizes this page knows
Requirements change and the office that receives your photo has the final say. Check the authority's own page before you submit — the links below are where these numbers came from on 2026-09-23.
| Document | Photo | Pixels at 300 DPI | Head height | Source |
|---|---|---|---|---|
| United States — passport & visa | 50.8 × 50.8 mm2 × 2 in | 600 × 600 | 25–35 mmeyes 28–35 mm from the bottom | fr.usembassy.gov |
| Schengen visa / Germany | 35 × 45 mm | 413 × 531 | 32–36 mmchin to crown | bundesdruckerei-gmbh.de |
| United Kingdom passport | 35 × 45 mm | 413 × 531 | 29–34 mmchin to crown | gov.uk |
| Canada passport | 50 × 70 mm | 591 × 827 | 31–36 mmchin to crown | canada.ca |
| China passport & visa | 33 × 48 mm | 390 × 567 | 28–33 mm3–5 mm above the head | china-embassy.gov.cn |
| 一寸 — Chinese 1-inch | 25 × 35 mm | 295 × 413 | about 60% of the height | Print-shop convention |
| 二寸 — Chinese 2-inch | 35 × 49 mm | 413 × 579 | about 60% of the height | Print-shop convention |
| 小二寸 — Chinese small 2-inch | 35 × 45 mm | 413 × 531 | about 60% of the height | Print-shop convention |
The Chinese print sizes are what photo shops cut to, not a government standard, so the head proportion for those three is ours: 60% of the photo height, which is what a 一寸 badge photo normally looks like.
About the picture of your face
A passport photo is biometric data, which is why this page is built the way it is. The models run inside the browser tab; the only network traffic is the model download, and it is cached so a second visit is offline.
- The face detector returns a rectangle and five points — eyes, nose, mouth corners. They are used to place the crop and nothing else. No face template, embedding or identity is computed.
- Nothing is stored. Close the tab and the photo, the mask and the numbers are gone; there is no account and no history.
- Every download is redrawn onto a blank canvas, so EXIF, GPS coordinates, camera model, timestamps and colour profiles from the original are simply not there — we then strip the file down to the image chunks to be certain.
- The models themselves are public: MODNet under Apache-2.0 and YuNet under MIT, both listed with their full licence text.
Questions people actually ask
Does my photo get uploaded anywhere?
No. Both models are downloaded to your browser (26 MB on the WebGPU path, 13 MB on the CPU path) and everything after that happens in this tab. You can watch it yourself: open the browser's network panel, or switch off Wi-Fi after the models have loaded and keep making photos in the same tab.
Will the file I download still have the GPS location and camera details?
No. The photo you download is drawn pixel by pixel onto a fresh canvas, so nothing from the original file's EXIF survives — no GPS, no camera serial, no timestamp. On top of that the file is filtered down to the image data itself: for PNG only IHDR, IDAT and IEND are kept (plus a 300 DPI print flag), and for JPG every APP1–APP15 and comment segment is dropped.
Can I take this to a print shop or a drugstore kiosk?
That is what the sheet download is for: a 4×6 inch image at 300 DPI (1200 × 1800 px), which is the standard cheap print at any lab or kiosk. Six US 2×2 photos or eight 35×45 mm ones fit on one sheet, with dashed cut lines. Order it as an ordinary 4×6 photo print and cut along the lines — do not let the kiosk 'fit to frame' or crop it.
Where do your millimetres come from, and are they right?
Each official row in the table above links to the page it was read from, and they were all read on 2026-09-23: the US embassy photo page, gov.uk, canada.ca, the Bundesdruckerei template and the Chinese embassy passport-photo notice. We do not promise your photo will be accepted — that is the receiving office's decision, and rules change. What this page does promise is that the crop matches the numbers it shows you.
The edge of my hair looks grey or chewed up. What now?
That is the cut-out struggling, and it has two usual causes: hair the same brightness as the wall behind it, or a white shirt against a white wall. MODNet works on a 512-pixel version of the head region, so very fine strands are the first thing to go. Shooting against a wall a couple of shades away from your hair and clothes fixes almost every case; a flat, even light with no shadow on the wall behind you helps just as much.
Can I do the whole family at once?
One photo at a time here, and if there are several faces in the picture you pick whose photo it is — the crop, the head height and the eye line are then measured from that face. One caveat on group shots: the cut-out model knows what a person is, not which person you meant, so anyone standing shoulder to shoulder with your subject stays in the frame. Batch runs, extra sizes and saved history are what a Pro licence is for.
Models and licences
Portrait cut-out: MODNet (Xenova/modnet, Apache-2.0) — 25.9 MB on WebGPU, 13.0 MB fp16 on the CPU path. Face detection: YuNet face_detection_yunet_2026may (MIT, 229,738 bytes, byte-identical to the OpenCV Zoo release). We tested the smaller 6.6 MB quantised MODNet too and rejected it: it dropped a white shirt on a light wall almost entirely.