CORS Checker — Cross-Origin Resource Sharing Test
Send an OPTIONS preflight and inspect Access-Control-Allow-Origin, methods, headers, and credentials
How to Use This Tool
- Enter the API or resource URL to test — typically https://api.example.com/path.
- Optionally specify a custom Origin header; otherwise a test cross-origin value is used.
- An OPTIONS request is sent with Origin and Access-Control-Request-Method: GET.
- Response status and all Access-Control-Allow-* headers are captured from the server reply.
- corsEnabled is true when Access-Control-Allow-Origin is present in the response.
- Compare Allow-Origin against your allowed frontend origins — wildcard with credentials is invalid per spec.
About This Tool
Cross-Origin Resource Sharing controls whether browsers permit JavaScript on one origin to read responses from another. Misconfigured CORS breaks SPAs calling APIs; overly permissive CORS exposes authenticated data to arbitrary websites. VSPIC sends an OPTIONS preflight request to your URL with a configurable Origin header and reports the Access-Control-* response headers the server returns.
By default we test with a synthetic cross-origin value to simulate an unrelated site requesting access. You can supply a custom Origin to verify that your API allows only trusted frontends. Results include HTTP status, Access-Control-Allow-Origin, Allow-Methods, Allow-Headers, Allow-Credentials, and whether CORS appears enabled at all.
Common use cases
- •Check if a VPN or proxy is detected on your connection
- •Validate SSL certificates before launch
- •Scan for email addresses in known breaches
Understanding CORS in browser security
Browsers enforce the same-origin policy by default. Without CORS headers, fetch and XMLHttpRequest from https://app.example.com cannot read responses from https://api.example.com even when the user is authenticated. CORS is a server opt-in mechanism, not a substitute for authentication.
Server-side curl requests ignore CORS — only browser contexts enforce it. That is why APIs appear to work in backend tests but fail in frontend consoles with CORS errors.
Preflight OPTIONS requests
Non-simple methods and custom headers trigger a preflight OPTIONS request before the actual call. Our checker simulates this preflight with Origin and Access-Control-Request-Method headers. If OPTIONS fails or omits required Allow headers, browsers block the subsequent GET or POST.
Some servers respond correctly to GET but not OPTIONS — a common misconfiguration when only GET routes are wired at the gateway.
Access-Control-Allow-Origin values
A specific origin like https://app.example.com is safest for credentialed requests. Wildcard * allows any origin but cannot be combined with Access-Control-Allow-Credentials: true. Reflecting the request Origin without validation effectively allows any site — treat reflection as equivalent to wildcard unless you validate against an allowlist server-side.
Our results show the exact Allow-Origin string returned for your test Origin so you can confirm intentional restriction.
Credentials and cookies
When Allow-Credentials is true, browsers include cookies on cross-origin requests only if Allow-Origin is a specific match, not *. Frontend code must set credentials: 'include' in fetch options.
Misconfigured credentialed CORS is a frequent source of session leakage — verify Allow-Origin never reflects arbitrary attacker origins on authenticated endpoints.
Allow-Methods and Allow-Headers
Allow-Methods lists permitted HTTP verbs for cross-origin calls. Allow-Headers lists custom request headers clients may send. Missing entries cause preflight failure even when Allow-Origin is correct.
Review both fields when debugging PATCH or DELETE failures from browser clients.
Testing with custom Origin
Supply your production frontend origin to confirm it is explicitly allowed. Test a deliberately untrusted origin to confirm it is rejected — absence of Allow-Origin or a mismatch means the browser will block read access.
Staging and production APIs may differ — run separate checks per environment.
CORS vs server-side authorization
CORS protects browser users from malicious sites reading API responses. It does not stop direct API abuse via curl or other non-browser clients. Always authenticate and authorize on the server regardless of CORS settings.
Public read-only APIs may legitimately use permissive CORS. Private data APIs should use strict origin allowlists.
Common misconfiguration patterns
Duplicate conflicting CORS headers from API gateway and application layer. OPTIONS not routed to the application on serverless platforms. Allow-Origin set only on error responses. CDN caching OPTIONS responses with wrong Origin for all clients.
Fix by centralizing CORS middleware, ensuring OPTIONS reaches the same handler as other methods, and disabling inappropriate caching of preflight responses.
When to use this CORS checker
Debugging browser console CORS errors after deploying a new frontend domain. Validating third-party API integrations before production cutover. Security review of public APIs that return sensitive JSON.
Document Allow-Origin decisions in runbooks alongside API authentication requirements.
Limitations of external CORS testing
We send one preflight from our server infrastructure. Some APIs geo-block or require API keys on all requests — those may return errors unrelated to CORS. IP allowlists on your API may block our probe.
Complex CORS with dynamic origin validation may require testing from an actual browser session on your frontend origin.
Frequently Asked Questions
Yes. VSPIC offers this CORS checker at no cost with no account required. Results load in real time.
We do not permanently store your queries on our servers. Some tools run entirely in your browser; others fetch public data for the request only.
Yes. Open the page in any modern phone or tablet browser. Results work on Wi‑Fi and mobile data.
Preflight OPTIONS is what browsers send before many cross-origin requests. Failures there block the real request before it starts.
Only publicly reachable URLs work. localhost is not accessible from our server — use a tunnel or staging URL.
No Access-Control-Allow-Origin header was returned. Browser cross-origin reads will be blocked for that origin.
Wildcard is acceptable for fully public read-only APIs with no credentials. Never use wildcard with Allow-Credentials true.
No. CORS controls response readability in browsers. CSRF requires separate token or SameSite cookie defenses.
Yes. Pass a custom Origin parameter to verify your API returns that exact value in Allow-Origin.
Next step for your check
Continue with ssl/tls grade checker on VSPIC.
Related Tools
Explore more free VSPIC tools for IP, DNS, security, and network diagnostics.
SSL/TLS Grade Checker
SSL grade, protocol support, cipher analysis, and expiry
Use Free →Security Headers Checker
HSTS, CSP grade A–F, per-header score, full header map
Use Free →Clickjacking Test
Detect iframe embedding and X-Frame-Options status
Use Free →Mixed Content Checker
Find HTTP resources on HTTPS pages
Use Free →Cookie Analyzer
Analyze cookies — Secure, HttpOnly, SameSite flags
Use Free →Malware URL Scanner
URL reputation scan — single or batch, phishing & malware signals
Use Free →SSL Checker
Validate SSL/TLS certificates and expiration dates
Use Free →
Trusted by Users Who Value Privacy
Always Free
No premium plan ever
100% Private
Files processed in browser
Instant Results
Convert in seconds
Works Everywhere
Any device, any OS