US Visa · DS-160

DS-160 photo upload failed — or HTTP Error 503? Here's what's actually wrong.

CEAC — the State Department system behind the DS-160 — accepts one very specific kind of photo file, and the photo on your phone almost never matches it. Below: the file rules the upload enforces, every message it shows and what each one means, the browser problems that masquerade as photo problems, and the official fallback for when the portal simply will not cooperate.

Fix it automatically — see the result free

Free compliance check · download for $16.99at CVS; ours is $9.99 if it passes · refunded if the government rejects it

Updated August 11, 2026

Why this happens

Three file rules, and a phone photo breaks all of them.

  • Wrong format. The upload takes one format: JPEG. iPhone HEIC originals, PNG screenshots, and PDF scans all fail — and a file merely renamed to end in the right letters, without being converted, fails the same way.
  • Not square. The accepted range is 600×600 to 1200×1200 pixels, square. A phone photo is a rectangle until you crop it, and the portal does not crop it for you.
  • Too large. The cap is 240 KB or smaller — a modern phone original is usually several times that, and the upload turns it away without ever saying size was the problem.
  • Beyond the file, the photo itself is measured too: head at 50–69% of the photo's total height, eyes 56–69% up from the bottom of the photo, background: Plain white or off-white. Fix these in the same pass so the upload is the last step, not the first retry.

Which message are you seeing?

Same failure, four messages.

“Photo service unavailable”

CEAC’s photo service itself is refusing requests — a portal-side outage, not your file, and nothing you change locally will clear it. Wait and retry later, and use the pause to fix the file rules above so the retry is the last step. The same words appear on the US visa photo upload step whether the outage lasts minutes or days.

“An error occurred while processing your photo”

The portal’s catch-all: it covers a file that breaks a rule and a system that hiccuped, without saying which. Rule out the file first — format, shape, size, in that order — then retry in a fresh session before assuming the worst. If it persists across sessions and days, treat it as the outage message above.

“HTTP Error 503”

A bare status code from the server itself: CEAC is temporarily unavailable, and nothing about your photo triggered it. Retry later in a fresh session — and keep your application ID handy so the session loss costs you nothing.

“Cannot upload photo”

A button that will not take the file usually means the file — start with the three rules above. If a corrected file still won’t attach, switch browsers; extensions and in-app browsers break upload widgets.

When the portal itself is down

HTTP Error 503: when the DS-160 itself is down.

Most upload failures are the file. This one is not. HTTP Error 503 is the server announcing it cannot take requests at all — a portal-side condition, not a verdict on your photo or your application. Here is what the message family means, the only retry guidance the State Department actually publishes, and what to do with the wait.

HTTP Error 503. The service is unavailable.

The bare status line. It means the system behind the DS-160 is refusing requests — a server-side condition, not a verdict on your file. During consular-system outages, the State Department’s maintenance notice tells applicants who are still having difficulty to wait at least twenty-four hours before trying again; that sentence is the only official retry guidance there is. No maintenance calendar is published anywhere, so nobody can honestly tell you when the portal comes back — a page that promises a schedule is guessing.

DS-160 service unavailable

The same family of service messages, met on the photo step — searchers also see it as “us visa photo upload service unavailable”. Met there, it gets mistaken for a photo error, and people spend the outage re-exporting a file that was never the problem. The dividing line is the noun: a service message — “unavailable”, HTTP Error 503 — points at the portal, not your file. A photo message can be about your file, and the rejection sentence has its own page.

Before you retry: write down your Application ID.

CEAC says this itself, before the form even starts: note the Application ID displayed at the top right-hand corner of the page, because you need it to continue the application after the browser closes. The outage does not eat your work either — the official FAQ says all information is saved automatically as each page is completed, so a timeout or error does not lose the application. A partially completed DS-160 stays retrievable for thirty days; to reach it after that, it must have been saved to your computer. Submitted more than thirty days ago and trying to get back in? The application is archived, and CEAC’s own page puts retrieval at roughly fifteen minutes — a delay, not a loss.

What to do with the wait.

The outage decides when you upload. It does not decide what you upload. On the other side of the retry, the same file rules are waiting — JPEG, sized 600×600 to 1200×1200 pixels, square, at 240 KB or smaller — and a phone original misses them on format, shape, and size alike, outage or none. Use the pause to get the file compliant, so that when CEAC comes back, your upload is one attempt long.

The fix

Fix it yourself, step by step.

  1. Convert to JPEG. Sharing or emailing an iPhone photo usually converts HEIC on the way out; any image editor can save a JPEG copy.
  2. Crop it square, inside the accepted range: 600×600 to 1200×1200 pixels, square.
  3. Compress under the cap. Lower the export quality until the file is 240 KB or smaller — most editors show the output size before saving.
  4. Fix the picture in the same pass: head at 50–69% of the photo's total height, eyes 56–69% up from the bottom of the photo, background: Plain white or off-white — so the next upload is also the last one.
  5. Take the browser out of the equation. Retry in a private window or a different browser with extensions off; in-app browsers — the one inside an email or chat app — break upload widgets more often than the file does.
  6. Retry off-peak. When the message is about the service rather than the photo, the portal means it: wait and try at a quieter hour, and note your application ID first so you can resume where you left off.

The maker does all of this from any selfie: background replaced, head cropped to spec, and the file exported as 600×600 JPEG · under 240 KB · pure white background. You see the finished photo and its full check report free — the download is what you pay for.

Fix it automatically →

If it keeps failing

Still failing? The official fallback keeps your application moving.

The State Department’s own guidance covers the case where the digital upload will not go through: finish and submit the DS-160 anyway, and bring one printed photo that meets the same published spec to your visa interview.

A confirmation page whose photo failed prints with a placeholder — an X where your picture would appear. That page plus a compliant printed photo is accepted at the interview; the failed upload is a technical event, not a mark against your case.

The numbers

The full spec, in one table.

Every figure below is transcribed from the official source linked at the bottom of this page — the same numbers our checks measure against:

Photo size600×600 to 1200×1200 pixels, square
File size240 KB or smaller
FormatJPEG
Head height50–69% of the photo's total height
Eye height56–69% up from the bottom of the photo
BackgroundPlain white or off-white

Rejected by the portal? We refund you.

Email us with your order id and the full amount goes back to your card. No screenshots, no proof — just tell us it was rejected.

30 DAYS FROM PURCHASE · NO PROOF UPLOADS · EVERY MEASUREMENT CHECKED AGAINST THE PUBLISHED GOVERNMENT SPEC BEFORE YOU PAY

Questions

Fair questions, straight answers.

Why does my DS-160 photo keep failing to upload?

It is nearly always the file: the upload wants a JPEG sized 600×600 to 1200×1200 pixels, square, with the file at 240 KB or smaller. A phone original misses on format, shape, and size all at once, so fix all three before retrying.

Can I submit the DS-160 without the photo uploading?

Yes. If the upload will not go through, submit the form and bring one printed photo that meets the published spec to your interview — the confirmation page prints with a placeholder instead of your picture, and the printed photo fills the gap. This is the State Department’s own documented fallback, not a workaround.

Does a failed photo upload hurt my visa case?

No. An upload failure is a technical event between your file and the portal — it is not reviewed, scored, or held against your application. Fix the file, or use the printed-photo fallback, and the application proceeds exactly as it would have.

Can I use the State Department's free photo tool instead?

Not anymore — the official photo tool is no longer available. The requirements are still published, but the cropping, compressing, and background work is now yours to do by hand, or ours to do for you.

Do you guarantee CEAC will accept the photo?

No honest service can. What we do: build the file to the published spec, measure it against every rule, and show you the result free before you pay. If the government rejects the photo anyway, the refund link in your receipt returns the money on the spot — no screenshots, no forms.

What does it cost to try?

Nothing to see the result: upload a photo and the finished picture plus its full check report are free. You pay only to download the clean file — and only if it passes.

What does “Photo service unavailable” mean on the DS-160?

That CEAC’s photo service is down — not that your photo failed. Wait and retry, and use the pause to make sure the file meets the rules: JPEG, sized 600×600 to 1200×1200 pixels, square, at 240 KB or smaller, so the retry is the last step.

Is “an error occurred while processing your photo” my fault?

Not necessarily. That message covers both a file that breaks a rule and a portal hiccup. Fix the file first — format, shape, size — then retry in a fresh session; if it persists across sessions, it is the portal, not you.

What does HTTP Error 503 mean on the DS-160?

That the server behind CEAC is temporarily refusing requests — an outage, not a verdict on your photo or your application. The State Department’s maintenance notice says applicants still having difficulty should wait at least twenty-four hours before trying again.

Will I lose my DS-160 application if CEAC goes down?

No. Official guidance is that all information is automatically saved when each page is completed, so an error or timeout does not lose the application. Keep your Application ID — CEAC’s instructions tell you to write it down from the top right-hand corner of the page — and you can resume a partially completed form for thirty days.

How long does the DS-160 service stay unavailable?

Nobody can say — no maintenance schedule is published. The only official guidance, from the State Department’s outage notice, is to wait at least twenty-four hours before retrying if you are still having difficulty.

Is HTTP Error 503 caused by my photo?

HTTP Error 503 means the service could not handle the request — it is not a photo-validation verdict. When the photo is the problem, CEAC uses a photo message instead: “Photo does not meet the requirements”, or an error occurred while processing your photo.

Can I do anything useful while CEAC is down?

The form needs the portal; the photo does not. Get the file compliant now — JPEG, sized 600×600 to 1200×1200 pixels, square, at 240 KB or smaller — so the retry is also the last attempt. Our free check report measures your photo against every rule without touching the portal.

Hand the DS-160 a file it accepts.

Free compliance check. Pay only when it passes.

Make my photo