Security Headers Checker
Paste HTTP response headers for a letter-graded security audit -- 12 headers checked for both presence and configuration quality, with a full CSP directive breakdown.
What this tool does
Grades a pasted block of HTTP response headers the way a real security headers audit does -- not just "is this header present" but "is it actually configured well" -- across 12 headers, with a letter grade (A+ through F) and a full breakdown of exactly what earned or cost points.
Why presence alone isn't enough
A Strict-Transport-Security header with
max-age=60 technically exists but provides almost no
protection -- a real check needs the actual value, not just
whether the header name appears. Every header here is checked for
both: whether it's present, and whether its value is actually
doing its job.
Headers checked
Content-Security-Policy (parsed
directive-by-directive, flagging unsafe-inline,
unsafe-eval and wildcard sources),
Strict-Transport-Security (max-age threshold,
includeSubDomains, preload), X-Frame-Options
(DENY/SAMEORIGIN vs. the deprecated ALLOW-FROM),
X-Content-Type-Options (nosniff),
Referrer-Policy (flagging the overly permissive
unsafe-url), Permissions-Policy,
Cross-Origin-Opener-Policy,
Cross-Origin-Embedder-Policy,
Cross-Origin-Resource-Policy, plus
information-disclosure headers (Server,
X-Powered-By, X-AspNet-Version) that
should generally be absent or generic rather than announcing exact
software versions to an attacker.
CSP directive breakdown
Content-Security-Policy is parsed into its individual
directives (script-src, style-src,
object-src, frame-ancestors, etc.) and
each is shown with its sources, flagging 'unsafe-inline'
and 'unsafe-eval' (both significantly weaken CSP's
XSS protection), a bare * wildcard, and a missing
object-src 'none' or base-uri.
The grading scale
Points are awarded per header based on both presence and configuration quality, then mapped to a letter grade -- the exact point breakdown is shown for every header checked, not hidden behind an opaque score, so you can see precisely what to fix to improve it.
What this tool can't do
It only evaluates headers you paste in -- it cannot fetch
headers from a live URL itself, because a browser's CORS
restrictions block JavaScript from reading most response headers
cross-origin (real hosted checkers get around this with a server
making the request, which this site deliberately doesn't run).
Grab the headers with your browser's dev tools Network tab, or
curl -sI https://example.com, and paste them here.
Privacy
Everything is parsed and graded entirely in your browser. Nothing is uploaded.