Free, browser-based utilities for everyday developer workflows

Debug CORS preflight requests

Simulate browser CORS and preflight checks locally to understand which response header is blocking a frontend API request.

Open this example in CORS Debugger

Open the tool, then paste the sample input below. Everything runs locally in your browser.

Open this example in CORS Debugger →

The problem

CORS failures often look like generic browser errors. The useful detail is in the request method, custom headers, credentials mode, and the server CORS response headers.

Sample input

Preflight inputs
Origin: https://app.example.com
Method: PUT
Request headers: Authorization, Content-Type
Response Access-Control-Allow-Origin: https://app.example.com

Expected output

CORS diagnosis
Check Access-Control-Allow-Methods includes PUT
Check Access-Control-Allow-Headers includes Authorization and Content-Type

How to do it

  1. Enter the requesting origin.
  2. Choose the HTTP method.
  3. Add custom request headers.
  4. Paste the server CORS response headers.
  5. Review which browser check fails.

Common mistakes

  • Adding CORS headers to the frontend instead of the API response.
  • Forgetting OPTIONS handling on the server.
  • Using wildcard origins with credentialed requests.
  • Missing Access-Control-Allow-Headers for Authorization.

Related tools

FAQ

Why does cURL work but the browser fails?

cURL does not enforce CORS. Browsers enforce CORS using response headers from the API.

What triggers a preflight request?

Non-simple methods, custom headers, and some content types cause the browser to send an OPTIONS preflight.

Does this call my API?

No. It simulates the browser checks from the values you enter.

Is my data uploaded anywhere?

No. This workflow runs locally in your browser unless you explicitly copy or share the result yourself.

This guide uses browser-local tooling. Avoid pasting production secrets unless you understand what the tool displays and shares.

Explore related tools

Continue with adjacent browser-based tools for the same workflow.

View security debugging tools →