CORS Request Tester
Send a real cross-origin request from your browser to any public endpoint and see whether CORS allows it — including the Access-Control-Allow-* response headers.
Bookmark this tool now — skip the search next time you need it.
About CORS Request Tester
Send a real cross-origin request from your browser to a public endpoint and see whether CORS actually allows it, along with the Access-Control-Allow-* headers that decided the outcome. CORS failures are frustrating precisely because the browser console tells you a request was blocked without telling you which header was missing or mismatched — and the request itself often succeeded on the server, so your logs look fine. This runs the real thing from a real browser origin and shows you the response headers, which is where the answer always is. Note that unlike most tools here, this one does make a live network request to the URL you enter.
Key features
- Sends a genuine cross-origin request from your browser, not a simulation
- All seven common methods: GET, POST, PUT, PATCH, DELETE, HEAD, and OPTIONS
- Custom request headers, which is what triggers a preflight
- Reports the Access-Control-Allow-Origin, -Methods, -Headers, and -Credentials response headers
- Distinguishes a CORS block from an ordinary network or server failure
- Shows the response status when the request is allowed through
- Copyable header list for pasting into a bug report
- No backend of ours involved — the request goes from your browser straight to the endpoint
How to use it
- Enter the endpoint URL you want to test.
- Choose the HTTP method.
- List any custom request headers, comma separated.
- Send, then read the Access-Control-Allow-* headers in the result.
Tips & common mistakes
- This tool makes a real request to the URL you enter. Point it at endpoints you own or public APIs — not at something that will charge money or mutate data.
- Adding a custom header is what turns a simple request into a preflighted one. The browser sends an OPTIONS request first, and the server must answer that too — a server handling only GET will fail here.
- Access-Control-Allow-Origin cannot be a wildcard when credentials are involved. With credentials enabled it must name your exact origin, which is the most common misconfiguration.
- Only a handful of response headers are readable from JavaScript by default. To expose others, the server must list them in Access-Control-Expose-Headers.
- CORS is enforced by the browser, not the server. The request usually reaches the server and succeeds there — which is why server logs show a 200 for a call your JavaScript never got to read.
- A failure with no CORS headers at all usually means the server has no CORS configuration, rather than a wrong one. Those are different fixes.
- CORS is not a security control protecting your API. It governs what other origins may read in a browser; it does nothing about requests from curl or a server.
- To inspect any response’s headers in detail, not just the CORS ones, use the HTTP Header Analyzer.