Quick triage: match the message to the fix
Four messages cover nearly every failed DS-160 photo upload. The wording on your screen can differ by a word or two — CEAC has varied its phrasing over the years — but every version maps onto one of these four causes. Find yours:
| "Photo upload failed" | Your file: wrong format, not square, or too large. Re-export as a JPEG sized 600×600 to 1200×1200 pixels, square, at 240 KB or smaller. |
|---|---|
| "Photo does not meet the requirements" | Your photo: head size, eye line, or background broke a composition rule. |
| "An error occurred while processing your photo" | Your file again, but subtler: an unusual JPEG variant. Re-export it as a plain JPEG. |
| "Service unavailable" / HTTP 503 | CEAC itself is down — not your photo. Wait and retry; details below. |
The first two are about your photo, and each has a full step-by-step page of its own — the short sections below hand you to the right one. The last two are the ones this guide covers in depth, because almost nobody explains them: one is a file problem you can clear with a single re-export, and one is not your problem at all.
"Photo upload failed": the file itself
The generic refusal, and almost always the file rather than the face: the upload takes one format (JPEG), one shape (600×600 to 1200×1200 pixels, square), and a hard cap (240 KB or smaller), and a phone original typically misses all three at once. HEIC originals, PNG screenshots, and PDF scans are refused on format alone, before anything about the photo is measured.
Rule the causes out in that order — format, then shape, then size — because that is the order they are quickest to check. The cause-by-cause walkthrough, with the self-service fix for each, has its own page:
"Photo does not meet the requirements": the measurements
This one is the opposite of the last: the file went through fine, and the photo failed the measurements. CEAC held your head against 50–69% of the photo's total height, your eye line against 56–69% up from the bottom of the photo, and the background against the rule — Plain white or off-white — and at least one of them missed. It never says which.
The rule-by-rule fix — including which failures can be corrected from the photo you already have and which honestly need a retake — lives here:
"An error occurred while processing your photo"
The processing error is the strangest of the four, because the photo can be fully compliant and still trigger it. It means CEAC could not read your file at all — not that a rule was broken. Something in the file's internal structure stopped the validator before it measured anything.
Three technical JPEG variants cause nearly all of it. A progressive JPEG stores the image in refinement passes instead of top to bottom — many web tools export this way by default, and strict validators cannot always decode it. A CMYK color profile comes from print-oriented software and swaps the color channels the validator expects. And EXIF rotation is the sneaky one: your phone stores the pixels sideways and adds a flag telling viewers to rotate them. Your screen obeys the flag; the validator reads the raw pixels — and refuses the file.
A fourth cause worth ruling out: a file renamed rather than converted. Changing the extension to .jpg does not make a photo a JPEG — the validator reads the bytes inside, not the file name.
The fix for all of them is one re-export:
- Open the photo in any image editor — the viewer built into your computer is enough.
- Save a fresh copy as a plain JPEG: baseline rather than progressive if the option appears, in the sRGB color space — the default "save as JPEG" in most editors does exactly this.
- Check the copy still meets the spec: 600×600 to 1200×1200 pixels, square, with the file at 240 KB or smaller.
- Upload the new copy, not the original.
That single pass flattens the rotation, the profile, and the encoding at once, which is why it clears the processing error far more reliably than retaking the photo — the picture was never the problem.
"Service unavailable" and HTTP 503
A 503 is the server's own message, not the validator's: CEAC cannot take requests right now. Nothing about it refers to your photo, and no change to your file will make it go away — this is the one error on this page you cannot fix, only outlast.
How to tell an outage from a file problem:
- Other CEAC pages fail too. If navigating anywhere else in the application also hangs or errors, the system is down and your photo is irrelevant to it.
- The error arrives instantly, before the upload could have finished. A validator rejection comes after your file transfers; a 503 usually appears without the upload running at all.
- Only the photo step fails while everything else loads normally — then suspect the file instead, and work through the sections above.
While you wait it out: note your application ID before closing anything — it is what you need to resume later. Retry outside US business hours, when load on the system is lightest. And expect to sign back in: after a session timeout the form usually asks for the photo again, so keep the finished file somewhere you can find it.
Nothing about your photo got worse while the portal was down. The file that was ready before the outage is exactly as ready after it — this error costs you time, never work.
Uploaded fine, rejected later
Passing the upload is the technical check, not the final word. The validator measures the file; a consular officer later reviews the photo itself and applies the rules no algorithm checks — chiefly that it was taken within the last six months and still looks like you.
That gap is where "accepted, then rejected" comes from. A photo from your last application can sail through the upload — the file is flawless — and still be refused at the interview because it is now too old. If your photo is older than six months, or your appearance has changed, replace it before the interview rather than let a refusal delay the application.
Fix the file once, pass every check
Every fix above ends the same way: a correctly built file. The maker does that in one pass from any selfie — background replaced with pure white, head cropped to spec, and the result exported as 600×600 JPEG · under 240 KB · pure white background — a plain baseline JPEG with none of the processing-error variants in it.
Then it re-measures the finished file itself — the same rendered file the CEAC validator tests, not the photo you started from. You see the result and its full check report free before paying, and if a check fails you can retake and rerun it at no cost.
See your finished photo and its full check report free · download it for $16.99at CVS; ours is $9 · refunded if the government rejects it