Free · open source · runs in your browser
Pick the document, choose a photo or take one, and download a file checked against the official rules. No sign-up, no watermark, and nothing is uploaded.
Also on macOS, Windows, iPhone and Android — where it runs.
What it does
A checklist is only worth trusting if it says what it measured. Every check names its value and the band it was judged against, and the same eleven run on every document. This is what a US passport photo made from a typical portrait reports.
1 face57.0% · band 50–69%62.4% · band 56–69%0.4% · tolerance 5%2.7° · max 5°98 px · min 90variance 1147 · min 808.8% · warn from 17%ΔE 0.0 vs #FFFFFF600 × 600200 KB · max 240How it works
The core is written in Rust and compiled to WebAssembly. Two small neural networks — a face detector and a portrait matting model — run on your device's processor, on several cores at once where the browser allows it. Nothing here has a server to talk to.
Five landmarks — eyes, nose, mouth corners — locate the head, measure its tilt, and anchor every rule that follows.
A matting model produces a soft edge, then a second pass zoomed in on your head resolves hair at full resolution. Sold as an upgrade elsewhere; on by default here.
White for a US passport, light grey for the UK, the exact colour each document names. Or a gradient, a studio sweep, or your own picture, for a photo that is not for a form.
Head height, eye line and centring each have an allowed band. The crop lands in the middle of every band at once, and three sliders let you move within them.
Eleven checks run on the finished file — and the face is detected again on the output rather than trusted from the crop, so the checklist describes the photo you will actually submit.
A JPEG inside the portal's size window — 20 to 50 KB for India's PAN, under 240 KB for a US visa — a lossless PNG with the right DPI, or a 4×6, 5×7, A4 or Letter sheet tiled with cutting guides.
Download
Every surface is the same open-source engine, MIT or Apache-2.0, and every one of them keeps your photo on your device.
Phone, tablet or computer. Nothing to install; add it to your home screen and it opens with no signal. iOS 26 and Android tested; iOS 17 cannot run the models.
Make a photo → macOS and WindowsThe same engine as a native window, with batch processing and print sheets. Installers for macOS and Windows are on the releases page as a release candidate.
Releases → Release candidateThe same engine running natively on the device, so iOS 17 works too. The Android APK is on the releases page now; the iPhone and iPad build is there unsigned, ready for the App Store submission. Store listings follow.
Releases →Every entry carries the government page its rules came from and the date they were last checked; the app shows both. If the one you need is not here, it is not here — you should not have to find that out after making the photo.
| Country | Document | Output | File |
|---|---|---|---|
| United States | Passport · Visa (DV lottery) | 600 × 600 px · 51 × 51 mm | ≤ 240 KB |
| United Kingdom | Passport | 413 × 531 px · 35 × 45 mm | ≥ 50 KB |
| European Union | Schengen passport | 413 × 531 px · 35 × 45 mm | — |
| China | Passport · Visa online · 1-inch ID · 2-inch ID | 390 × 567 px · 33 × 48 mm | 40 – 120 KB |
| India | Passport · Passport Seva digital · PAN · OCI | up to 900 × 900 px | 20 – 50 KB (PAN) |
| Canada · Brazil | Passport | 591 × 827 px · 50 × 70 mm | — |
| Australia · Japan · Russia · South Korea | Passport | 413 × 531 px · 35 × 45 mm | 100 – 500 KB (KR) |
| Singapore | ICA digital | 400 × 514 px | — |
| Saudi Arabia | eVisa | 200 × 200 px | 5 – 100 KB |
| United Arab Emirates | ID card | 472 × 709 px · 40 × 60 mm | — |
The full list, with sources and check dates, is in the app under "Documents covered". The app speaks English, Chinese, Japanese, Korean, German, Spanish and Portuguese.
Privacy
Every passport-photo site says your photo is safe with them. Here there is no "them": open your browser's developer tools, switch to the Network panel, and make a photo. After the app and its models have loaded, nothing else is requested.
Pricing
The five features this category sells by subscription are all on and all free. Every one of them runs on your own device, which costs nothing to provide — so there is nothing to meter.
The source is MIT or Apache-2.0. If that ever stopped being true, the version where it was true would still be there to fork.
The file meets the published size, background and geometry rules, and the checklist tells you which of the eleven checks passed and by how much. A portal can still reject a photo for reasons no software can measure — an expression, a reflection on glasses — so read the checklist rather than assuming.
Face the camera straight on with a neutral expression, in even light — a window works, direct sun does not — with head and shoulders in frame and a little room above your hair. Any background at all; it gets replaced.
It is built for one. "Take a photo" opens the front camera directly. The first visit downloads the two models with a progress bar; after that they are on your device. Tested on iPhone and iPad with iOS 26 and on Android with Chrome. iOS 17 cannot start the models at all, and says so. Open the device test on your own phone to see what it does there.
The web app installs from the browser's share or menu button — "Add to Home Screen" — and then behaves like an app, offline included. Beyond that, the releases page carries a release candidate of everything else: macOS and Windows installers, an Android APK you can install directly, and the iPhone and iPad build, unsigned until the App Store submission. The phone apps run the models natively on the device. Store listings follow.
Yes, with no cap. Choose any number of photos and one document; every photo gets the same rules, and a CSV report says which checks each one passed.
One account works across our apps, and some of those do work on a server that costs money per use. Credits bought there can be spent there. Here there is nothing to spend them on, so the account unlocks nothing and you never need it.
Nowhere, unless you save them. The app holds a photo only while you work on it, in memory, and forgets it when you close the tab. Your language and your recent documents are the only things it remembers.
Yes — the whole thing, under MIT or Apache-2.0.
Free, private, and checked against the rules before you download it.