Security Headers Checker
Check any URL for missing security headers: HSTS, CSP, X-Frame-Options, Permissions-Policy, and more. Instant grade and copy-paste fixes.
Every header this tool checks, explained
Strict-Transport-Security
(HSTS)Tells the browser to only ever connect to your domain over HTTPS, for a period of time you set. Without it, a visitor who types your domain without "https://" can be silently downgraded to plain HTTP by an on-path attacker.
max-age=31536000; includeSubDomains; preloadContent-Security-Policy
(CSP)Restricts which sources scripts, styles, images, and other resources can load from. It's the strongest defense against XSS beyond input sanitization: even if an attacker injects a script tag, a good CSP stops it from running.
default-src 'self'; script-src 'self'; object-src 'none'; frame-ancestors 'self'; base-uri 'self'X-Content-Type-Options
(nosniff)Stops the browser from MIME-sniffing a response into a different content type than the server declared. Without it, a file uploaded as an image can, in some cases, be executed as a script.
nosniffX-Frame-Options
(clickjacking)Controls whether your pages can be loaded inside an <iframe> on another site. Without it, an attacker can frame your page invisibly and trick users into clicking things they didn't mean to (clickjacking).
SAMEORIGINReferrer-Policy
(referrer leakage)Controls how much of your page's URL is sent in the Referer header when a user clicks an outbound link. Full URLs can leak session tokens, search terms, or internal paths to third-party sites.
strict-origin-when-cross-originPermissions-Policy
(feature access)Declares which browser features (camera, microphone, geolocation, USB, and more) your page and any embedded iframes are allowed to use. Only disable features your app genuinely doesn't need.
geolocation=(), camera=(), microphone=()Cross-Origin-Opener-Policy
(COOP)Isolates your page's browsing context from cross-origin windows that open it, closing off a class of cross-window side-channel attacks. Can interfere with OAuth popup flows that rely on window.opener, so check that first.
same-originCross-Origin-Embedder-Policy
(COEP)Requires cross-origin resources to explicitly opt in before your page can load them. Mainly relevant if you use SharedArrayBuffer, WASM threads, or other APIs that need cross-origin isolation.
require-corpCross-Origin-Resource-Policy
(CORP)Restricts which origins can load a given resource directly, such as in an <img> or <script> tag on another site. Useful for endpoints returning sensitive data.
same-originFrequently Asked Questions
What does this security headers checker test?
It fetches the URL and inspects the response for the security headers browsers rely on: Strict-Transport-Security (HSTS), Content-Security-Policy (CSP), X-Content-Type-Options, X-Frame-Options, Referrer-Policy, Permissions-Policy, Cross-Origin-Opener-Policy, Cross-Origin-Embedder-Policy, and Cross-Origin-Resource-Policy. It also flags information-leak headers like Server and X-Powered-By that hand attackers your exact software version.
What's a good security headers grade?
A means HSTS and CSP are both present along with the rest of the recommended headers. Missing either HSTS or CSP caps the grade at C, since those two do the most work: HSTS blocks HTTPS downgrade attacks and CSP is the primary defense against XSS. Aim for B or better, most unconfigured apps land at D or F.
Why does a missing Content-Security-Policy matter so much?
Without a CSP, any script an attacker manages to inject (via a stored XSS bug, a compromised dependency, or a vulnerable form) runs with the same privileges as your own code. A CSP restricts which scripts are allowed to execute at all, so even a successful injection often does nothing.
Will adding these headers break my site?
Most are safe defaults: X-Content-Type-Options, HSTS (on an HTTPS-only site), and Referrer-Policy rarely cause issues. A few need care: Permissions-Policy can break geolocation or camera features if you disable them by mistake, Cross-Origin-Opener-Policy can interfere with OAuth popup flows, and a strict CSP can block inline scripts your app currently relies on. Test on staging before shipping to production.
Why do you flag the Server and X-Powered-By headers?
Neither header is a vulnerability on its own, but both make an attacker's job easier by naming your exact framework or web server version. That turns a blind guess into a targeted search for known CVEs against that specific version. Stripping or generalizing them costs nothing and removes free reconnaissance.
More Free Tools
View all 14 toolsCheck SSL certificate validity and TLS security
Check SPF, DMARC, and MX records
Test password strength (100% client-side)
Check if your email was exposed in breaches
Your privacy matters. We don't store any data you submit. Learn more
Headers are one layer. Cover the rest.
vas scans your entire application, not just headers: exposed API keys, database misconfigurations, authentication gaps, and more. Your first scan is free.
Run Full Security Scan