HTTP Security Headers Grader

Paste response headers and get an A-F security grade with remediation advice.

Ad placeholder (leaderboard)

Security headers are some of the highest-leverage, lowest-effort defences a web app can deploy, yet they are easy to forget. Paste your HTTP response headers here and get an instant A-F grade with a per-header breakdown and the exact value to add for anything that fails — all computed in your browser, nothing uploaded.

How it works

The grader parses your pasted headers into name/value pairs (case-insensitive) and runs each through a specific rule, not just a presence check:

  • Content-Security-Policy (25 pts) must be present and free of unsafe-inline/unsafe-eval.
  • Strict-Transport-Security (20 pts) must have max-age of at least six months.
  • X-Content-Type-Options (10 pts) must equal nosniff.
  • X-Frame-Options (10 pts) must be DENY/SAMEORIGIN, or CSP frame-ancestors must be set.
  • Referrer-Policy (10 pts) must be one of the privacy-preserving values.
  • Permissions-Policy (8 pts) present.
  • COOP (6), CORP (6), COEP (5) set to their isolation values.

Points for passing checks are summed and divided by the maximum to produce a percentage, which maps to a letter grade: A at 90%+, B at 75%+, C at 60%+, D at 45%+, E at 25%+, and F below that.

Example

curl -sI https://example.com

Paste the output. A site with HSTS, a clean CSP, nosniff, DENY, and a strict referrer policy but no Permissions-Policy or cross-origin headers typically lands around a B — solid core protection with room to add isolation headers.

Notes and tips

  • Prioritise CSP and HSTS first; together they are over 40% of the score and block the most damaging attacks (XSS and protocol downgrade).
  • Build CSP in report-only mode first (Content-Security-Policy-Report-Only) to find violations before enforcing, then switch to the enforcing header.
  • Set headers at the edge (reverse proxy or CDN) so they apply uniformly to every response, including error pages and static assets.
Ad placeholder (rectangle)