About This Tool
Inspect HTTP response headers and get an instant security grade for any website with this free header checker. Enter a URL, and the tool fetches the full set of response headers returned by the server, then scores the site from A+ to F based on the presence and configuration of eight critical security headers. You also get a redirect chain breakdown, response time measurement, and server identification data. Results appear in seconds with clear pass, warning, and fail indicators for each header. HTTP headers are metadata sent by a web server alongside every response. They control how browsers handle content, enforce security policies, manage caching behavior, and enable cross-origin resource sharing. Misconfigured or missing security headers leave a site vulnerable to cross-site scripting (XSS), clickjacking, man-in-the-middle attacks, and data injection. Regularly auditing your headers is one of the simplest steps you can take to harden a website against common attack vectors. This tool is free, requires no signup, and works with any publicly accessible URL. The audit covers Content-Security-Policy, Strict-Transport-Security, X-Content-Type-Options, X-Frame-Options, Referrer-Policy, Permissions-Policy, X-XSS-Protection, and Cross-Origin isolation headers. Each check includes a specific recommendation so you know exactly what to fix and why it matters.
What Are HTTP Security Headers?
HTTP security headers are response headers that instruct browsers to enable specific security mechanisms. Unlike application-level defenses (input validation, authentication), security headers work at the transport layer and apply automatically to every page load. Here are the most important ones:
- Content-Security-Policy (CSP) defines which sources of scripts, styles, images, and other resources the browser should trust. A well-configured CSP blocks inline scripts and prevents most XSS attacks.
- Strict-Transport-Security (HSTS) tells browsers to only connect via HTTPS for a specified duration. Once set, even if a user types "http://", the browser upgrades to HTTPS automatically.
- X-Content-Type-Options with the value "nosniff" prevents browsers from guessing the MIME type of a resource. This stops attacks where a file is served with a wrong content type to trick the browser into executing it.
- X-Frame-Options blocks other sites from embedding your pages in iframes, which is the primary defense against clickjacking attacks.
Understanding the Security Grade
The security grade is calculated on a 100-point scale across eight header categories. Each header contributes a fixed number of points based on its importance to overall security posture:
- A+ (90-100 points): All critical headers are present and correctly configured. The site follows security best practices.
- A (80-89 points): Strong security with minor gaps. Most headers are properly set.
- B (60-79 points): Good baseline security. Some headers like Permissions-Policy or Cross-Origin headers may be missing.
- C (40-59 points): Moderate security. Key headers like CSP or HSTS are likely absent.
- D (20-39 points): Weak security. The site is missing most recommended security headers.
- F (0-19 points): Critical gaps. The site has almost no security headers configured.
Most production websites score between B and C. Reaching A+ requires deliberate configuration of all eight header types, which is uncommon outside of security-focused organizations.
How to Add Security Headers
The method for adding security headers depends on your web server or hosting platform:
- Nginx: Add headers in your server block using
add_headerdirectives. For example:add_header X-Frame-Options "DENY" always; - Apache: Use
Header setdirectives in your.htaccessfile or virtual host configuration. - Cloudflare: Use Transform Rules or Workers to inject headers into responses.
- AWS CloudFront: Use Response Headers Policies to add security headers at the CDN level.
- Vercel/Netlify: Configure headers in
vercel.jsonor_headersfile respectively.
Start by adding HSTS and X-Content-Type-Options, which rarely cause compatibility issues. Then implement X-Frame-Options and Referrer-Policy. CSP is the most powerful but also the most complex header to configure correctly. Use report-only mode first to identify legitimate resources your CSP needs to allow before enforcing it.
Common Header Mistakes
Even when security headers are present, misconfigurations can reduce their effectiveness or break site functionality:
- CSP too permissive: Using
unsafe-inlineandunsafe-evalin CSP negates most of its protection against XSS. Aim to remove these directives by refactoring inline scripts. - Short HSTS max-age: A max-age under 31536000 seconds (1 year) means the browser forgets the HTTPS-only rule quickly. Short values also prevent inclusion in the HSTS preload list.
- Exposing server info: The
ServerandX-Powered-Byheaders reveal your technology stack to attackers. Remove or obscure these in production. - Missing on subdomains: HSTS without
includeSubDomainsleaves subdomains vulnerable to downgrade attacks. Add this directive once all subdomains support HTTPS.