DS-160 Photo Checker: Test Your US Visa Photo Before You Upload
The US visa photo is a 2 × 2 inch square, 600 to 1200 pixels on each side, with the head filling roughly half to two-thirds of the frame against a plain white background. Common reasons a photo is returned are a head that is too small or too large, shadows on the background and a tilted head.
The validator above measures each of those rules on your photo, shows which pass, and crops it to 600 × 600 pixels with 300 DPI written into the JPEG. It checks against published rules but is not the State Department, so a pass is a good sign rather than a guarantee. It cannot fix a bad background or uneven lighting; those need a reshoot.
This is the Passport & Visa Photo Validator set up for one case. See everything it does →
Passport & Visa Photo Validator — ICAO 9303 / DS-160 compliance
Checks a portrait against US DS-160 (2×2 in) and Schengen / ICAO 9303 (35×45 mm) rules — head size, pose, background and lighting — then auto-crops it to a print-ready JPEG at the right DPI. Everything is measured in your browser; the photo never leaves your device.
What it measures
- Geometry: head height, eye line and centring against the standard’s allowed bands.
- Head pose: roll, yaw and pitch from a weak-perspective POS solver; roll is also read from the eye line.
- Background: colour uniformity (CIE76 ΔE*ab), brightness, patterns and cast shadows.
- Lighting: left/right symmetry (SSIM) and specular hotspots.
- Expression: eyes open and neutral mouth, measured from the face mesh and estimated when it is unavailable.
Face finder and limits
The face is found by Google’s MediaPipe Face Landmarker, run entirely in your browser. Its model (about 4 MB) and runtime load from this site once and are then cached; your photo is never sent anywhere, and the model only places points, it identifies no one. It also gives the eye and mouth ratios for the expression checks. Drag any point to fine-tune it. If the model can’t run on your device, you place the points by hand and the expression checks are advisory. This is a pre-submission check; the issuing authority makes the final decision.