Free · open source · runs in your browser

Passport and ID photos that pass.

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.

21
documents, 14 countries
11
checks on every photo
0
uploads, accounts or watermarks

Also on macOS, Windows, iPhone and Android — where it runs.

What it does

The eleven checks, with the numbers behind them.

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. Face countexactly one face in frame1 face
  2. Head heightthe document's band, as a share of the frame57.0% · band 50–69%
  3. Eye lineheight of the eyes from the bottom edge62.4% · band 56–69%
  4. Centringhow far the face sits off the vertical centre0.4% · tolerance 5%
  5. Rollhead tilt, from the line between the eyes2.7° · max 5°
  6. Inter-eye distanceenough pixels between the eyes for a machine to read98 px · min 90
  7. Blursharpness across the face regionvariance 1147 · min 80
  8. Lighting symmetryleft/right luminance difference across the face8.8% · warn from 17%
  9. Background uniformityhow flat and how close to the required colourΔE 0.0 vs #FFFFFF
  10. Resolutionthe exact pixel size the portal wants600 × 600
  11. File sizeinside the portal's window, found by search not guessed200 KB · max 240

How it works

Every step happens on your own device.

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.

  1. Find the face

    Five landmarks — eyes, nose, mouth corners — locate the head, measure its tilt, and anchor every rule that follows.

  2. Separate you from the background

    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.

  3. Paint the required background

    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.

  4. Crop to the rules

    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.

  5. Check the result

    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.

  6. Export for the portal or the print shop

    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

One engine, on every screen you own.

Every surface is the same open-source engine, MIT or Apache-2.0, and every one of them keeps your photo on your device.

Twenty-one documents, each checked against its official source.

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.

CountryDocumentOutputFile
United StatesPassport · Visa (DV lottery)600 × 600 px · 51 × 51 mm≤ 240 KB
United KingdomPassport413 × 531 px · 35 × 45 mm≥ 50 KB
European UnionSchengen passport413 × 531 px · 35 × 45 mm
ChinaPassport · Visa online · 1-inch ID · 2-inch ID390 × 567 px · 33 × 48 mm40 – 120 KB
IndiaPassport · Passport Seva digital · PAN · OCIup to 900 × 900 px20 – 50 KB (PAN)
Canada · BrazilPassport591 × 827 px · 50 × 70 mm
Australia · Japan · Russia · South KoreaPassport413 × 531 px · 35 × 45 mm100 – 500 KB (KR)
SingaporeICA digital400 × 514 px
Saudi ArabiaeVisa200 × 200 px5 – 100 KB
United Arab EmiratesID card472 × 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

The only passport-photo tool where you can check the privacy claim yourself.

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.

  • The core cannot reach the network The Rust module that does the work has no HTTP client compiled into it. There is no code path from your photo to a server.
  • The models are served from here The face detector and the matting model are fetched from this site on first use, about 26 MB once, and kept in your browser. Not from a CDN that would learn when you opened a passport photo.
  • No account needed Nothing on this site is behind a sign-in. There is an account, in the top corner of the app, and it is optional: it carries credits to our other apps, and signing in sends an e-mail address or a wallet signature to our account server and nothing else. Your photo never leaves the browser either way.
  • No ads, no trackers, no analytics This page loads no third-party script and sets no cookie. Neither does the app, and its test suite fails if a request ever leaves the origin.
  • Works with no signal After the first visit the app opens with no connection at all. Add it to your home screen and it opens on a plane.

Pricing

Free, including the parts other apps charge for.

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.

$0 every feature, every photo, for good
  • Hair-level edge detail
  • Unlimited batches, with a CSV report
  • Backgrounds beyond a flat colour
  • Print sharpening and tiled print sheets
  • A drawn jacket for a photo taken in a T-shirt

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.

Questions

Before you make one.

Something not answered here? Ask on GitHub.

Will the portal accept it?

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.

What should the original photo look like?

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.

Does it work on a phone?

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.

Is there an app to install?

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.

Can I do several at once?

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.

Why is there an account button at all?

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.

Where are my photos stored?

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.

Is it really open source?

Yes — the whole thing, under MIT or Apache-2.0.

Your photo, ready in about a minute.

Free, private, and checked against the rules before you download it.