By · Updated

Security Headers Checker

HSTS, CSP, X-Frame-Options, nosniff and Referrer-Policy Checked From Pasted Response Headers

No ratings yet

OneTask is free, with no sign-up, and built by one person.
If this tool saved you time, a coffee helps keep new ones coming.

How the Security Headers Checker works

This security headers checker reads the HTTP response headers you paste and marks each security header as OK, weak or missing, with a note on why it matters. It also flags headers that leak your software versions and cookies sent without Secure, HttpOnly or SameSite.

How to use the security headers checker

Get the headers with curl -sI https://example.com, or open the browser developer tools, pick the page request on the Network tab and copy the response headers. Paste them in, one Name: value per line. The status line and blank lines are skipped, and repeated headers such as Set-Cookie are checked one by one.

The checker looks at the six headers every scanner expects: Strict-Transport-Security, Content-Security-Policy, X-Frame-Options, X-Content-Type-Options, Referrer-Policy and Permissions-Policy. A short HSTS max-age, a policy that allows inline or eval scripts, an obsolete framing value or a referrer policy that sends full URLs all count as weak. X-Frame-Options is not needed when the CSP sets frame-ancestors.

Cross-origin isolation headers are shown as optional. A Server header with a version number, X-Powered-By and similar headers are marked as leaks, because they tell attackers which known bugs to try.

FAQ

Why doesn't the checker fetch the URL itself?

Browsers block pages from reading another site's response headers unless that site allows it through CORS, so a fetch from this page would fail for most sites. Pasting the headers also lets you check a staging server or an internal site that is not reachable from the internet.

Is a missing Referrer-Policy a real problem?

Modern browsers already default to strict-origin-when-cross-origin, so the risk is small. Setting the header still protects visitors on older browsers and makes the choice explicit, which is why scanners still mark it as missing.

What should I do about the weak and missing results?

Use the Security Headers Generator to write the missing headers for nginx, Apache, Netlify or Express, and the CSP Builder for a policy without unsafe-inline. Then paste the new response headers here again to confirm every row turns OK.

See also: all Security & Identifiers tools, Dev Utilities, Formatters & Validators, Data & Encoding, SEO, Accessibility, AI.

Related tools