900×900 pixels is a cap, not an exact requirement. The OCI services portal publishes an upload window: a square JPEG up to 900 × 900 pixels, at most 200 KB. Anything square, JPEG, and under both ceilings passes the ruler — which is also why the smart conversion target is the cap itself, the largest file the portal will take. The full spec is below, then the honest way to get a compliant file out of a phone photo, and where to go when the upload bounces.
Convert my photo for the OCI upload — see it freeThe specification
The upload window as the portal publishes it, plus the composition rules from the official OCI photo specification — verifiable at the source linked at the bottom of this page:
| OCI portal upload | Square JPEG up to 900 × 900 px, max 200 KB |
|---|---|
| Our output | 900×900 pixels, square — the top of the window |
| File size | 8 KB – 200 KB |
| Format | JPEG |
| Head height | 49–69% of the photo's height |
| Eye height | 55–69% up from the bottom of the photo |
| Background | Plain, light-coloured background |
The full rulebook — expression, glasses, lighting — lives on the OCI photo requirements page.
Up to, not exactly
Most portal pixel specs are floors or exact figures — the US DS-160 sets a 600×600 minimum, a DV lottery entry takes exactly 600×600. The OCI upload is the other shape: a ceiling. The portal accepts a square JPEG up to 900 × 900 pixels and up to 200 KB, so a 700×700 file under the byte cap goes through just as a 900×900 one does. What never goes through: a file over either ceiling, a rectangle, or a non-JPEG.
So why does our OCI flow output 900×900 pixels, square? Because the top of a window is the only spot in it with nothing to lose. A file at the cap carries the most detail the portal will accept, and there is no larger size for it to be rejected against — downscaling is always possible, upscaling never adds anything real. That is the one case where treating the cap as the target is correct; treating it as a requirement, and telling you your 800×800 file is “wrong,” would not be.
The conversion
A generic image resizer can square a photo and scale it under 900×900. It cannot place the crop, clean the background, or land the byte size in the same pass — and those are what the OCI photo actually gets judged on. Four things have to happen to a phone photo, in order:
That is what the OCI flow here does, server-side, from a single upload — JPEG, PNG, WebP, or HEIC straight off the phone, no pre-cropping. To be honest about the limits: this is not a general-purpose resizer. It produces the fixed sizes governments publish — 900×900 among them — not arbitrary dimensions. And the OCI flow is digital-only: the portal takes a file, not paper, so there is no print sheet.
Already have a file you think fits the window? The free OCI photo checker measures it against the spec as-is and alters nothing.
When it bounces
Most people meet this number mid-error, not mid-planning. When the OCI portal bounces a photo, the cause is nearly always one of four:
The step-by-step recovery — what each message means and the exact fix for it — is on the OCI photo upload failed page. Start there if you are staring at an error right now; come back here if you just want a file that fits the window the first time.
The equivalence
The OCI application's print size is 2 × 2 inches (51 × 51 mm) — the same square frame as a US passport photo. The digital file and the print are the same photo at different densities, and the arithmetic is simple: 900 pixels across a 2-inch print is 900 ÷ 2 = 450 pixels per inch. Compare the US DS-160, whose 600×600 file over the same 2 × 2 inch frame works out to 300 pixels per inch — the 600x600 page covers that spec end to end.
Same frame does not mean same photo, though: each spec places the head differently inside it, so a file composed for one should be re-cropped for the other, not just rescaled. Every country's frame and portal window, side by side, is on the passport photo size chart.
Questions
No. 900 × 900 is the ceiling, not the target — the OCI portal publishes an upload window capped at 900 × 900 pixels and 200 KB, so a smaller square JPEG under the byte cap goes through too. Making the file at the cap is still the sensible move: it is the largest, sharpest file the portal will take, and there is no size above it to bounce off.
Usually the file, not the face: over the 200 KB cap, not a JPEG, or not square. Phone camera originals fail all three at once — they are portrait-shaped, several megabytes, and often HEIC. If the file measures fine and still bounces, the geometry is next: the OCI spec wants the head at 49–69% of the photo’s height with the eyes 55–69% up from the bottom, on a plain, light-coloured background.
200 KB, as a JPEG. The window our OCI flow targets is 8 KB – 200 KB — comfortably inside the cap without compressing the photo into visible artifacts. A phone original is typically ten times the cap or more, which is why compression is part of the conversion, not an afterthought.
Same square frame, higher pixel density. The OCI application’s print size is 2 × 2 inches (51 × 51 mm); a 900 × 900 file printed at 2 × 2 inches works out to 450 pixels per inch (900 ÷ 2 = 450), versus the 600 × 600 file the US DS-160 uses, which is the same print at 300 pixels per inch. The frame matches — the composition rules do not automatically match, so a photo cropped for one spec should be re-cropped, not just resized, for the other.
No — and nobody honest will tell you otherwise. Dimensions and file size are the gates a portal can measure instantly; the photo itself still has to put the head at 49–69% of the frame, the eyes 55–69% up from the bottom, on a plain, light-coloured background. What can be promised is the measurable spec — which is why the finished photo and its full report are shown to you before you pay anything.
See your finished photo free. Pay only when it passes.
Convert my photo