CORS

How to Debug CORS Errors in Chrome DevTools

Updated April 2026

Reading this article? Verify your fix in real-time. Send a live preflight to your API โ†’ CORSFixer

The console shows one CORS error. The actual problem could be four different things. DevTools Network tab shows the exact request and response โ€” here is how to read it in 60 seconds.

Step 1 โ€” Open DevTools Network tab before reproducing

Open DevTools (F12) โ†’ Network tab โ†’ clear the log โ†’ reproduce the error. The CORS error will appear in Console, but the Network tab has the detail.

Step 2 โ€” Find the failing request

In Network tab, look for requests with a red warning icon or status 0/CORS. Click on the request. You will see:

Step 3 โ€” Check the Response Headers

In the Headers tab, scroll to Response Headers. Look for:

What you seeWhat it meansFix
No Access-Control-Allow-OriginServer did not add CORS headersAdd CORS middleware to your server
Access-Control-Allow-Origin: *Wildcard โ€” works unless you use credentialsChange to explicit origin if using cookies/auth
Access-Control-Allow-Origin: https://wrong.comWrong origin in responseFix server config to match your actual frontend origin
No response at all (status 0)Network error before CORS checkCheck SSL certificate, DNS, server availability

Step 4 โ€” Check for the OPTIONS preflight

If your request uses POST, PUT, DELETE, or custom headers โ€” look for a separate OPTIONS request in the Network tab. It appears just before the actual request.

Step 5 โ€” Read the exact Console error message

Each CORS error message tells you exactly what is wrong:

# Missing header entirely
"No 'Access-Control-Allow-Origin' header is present"
โ†’ Server has no CORS config

# Wrong origin
"'Access-Control-Allow-Origin' header has value 'https://other.com'"
โ†’ Server is configured for a different origin

# Credentials + wildcard
"must not be the wildcard '*' when credentials mode is 'include'"
โ†’ Change * to your explicit frontend origin

# Header not in allow list
"Request header field authorization is not allowed"
โ†’ Add Authorization to Access-Control-Allow-Headers on OPTIONS response

# Preflight failed
"Response to preflight request doesn't pass access control check"
โ†’ Your OPTIONS handler is missing or broken

The Postman test

If your API works in Postman but fails in the browser โ€” it is always a CORS issue. Postman does not enforce CORS. The browser does. Your server is responding but not including CORS headers.

Use CORSFixer for a live preflight test

Instead of manually checking headers, CORSFixer sends a real OPTIONS preflight from the browser to your API and shows exactly what was sent and what came back โ€” with a diagnosis of what is wrong.

Send a live preflight to your API โ†’ CORSFixer