Run a full scan — every category, one report
Security Headers Analyzer
Inspect HTTP response headers to ensure your web server is instructing browsers to protect users from XSS, clickjacking, and packet sniffing.
Crucial Security Headers
When a browser visits a web page, the server sends hidden "headers" before the HTML content. These headers act as strict rules the browser must follow.
- Strict-Transport-Security (HSTS): Forces the browser to always use HTTPS for this site, even if the user types
http://. - X-Frame-Options: Prevents other sites from embedding your page in an
<iframe>, stopping "Clickjacking" attacks. - X-Content-Type-Options (nosniff): Prevents the browser from trying to guess the file type, stopping malicious script execution hidden inside images or text files.
- Content-Security-Policy (CSP): An advanced whitelist of exactly which domains are allowed to load scripts, images, or styles on your site. The ultimate defense against XSS (Cross-Site Scripting).
Our Security Headers Checker fetches your site and inspects every HTTP response header that affects browser security — HSTS, Content-Security-Policy, X-Frame-Options, X-Content-Type-Options, Referrer-Policy and Permissions-Policy — then explains what each missing header exposes you to.
What Are HTTP Security Headers?
HTTP security headers are instructions your server sends alongside every page telling the browser how to treat your content. They are enforced by the browser itself, which makes them a genuinely defensive layer rather than an advisory one.
The most important are Strict-Transport-Security, which forces HTTPS; Content-Security-Policy, which controls which scripts and resources may load; X-Frame-Options, which prevents your pages being embedded in a hostile frame; and X-Content-Type-Options, which stops the browser guessing at content types.
They are cheap to deploy — most are a single line of server configuration — and they mitigate entire classes of attack, including cross-site scripting, clickjacking and protocol downgrade.
The most important are Strict-Transport-Security, which forces HTTPS; Content-Security-Policy, which controls which scripts and resources may load; X-Frame-Options, which prevents your pages being embedded in a hostile frame; and X-Content-Type-Options, which stops the browser guessing at content types.
They are cheap to deploy — most are a single line of server configuration — and they mitigate entire classes of attack, including cross-site scripting, clickjacking and protocol downgrade.
- Response headers that instruct the browser how to handle your content
- Enforced by the browser, so they work regardless of application code
- Mitigate XSS, clickjacking, MIME sniffing and downgrade attacks
- Usually a one-line server configuration change
- Checked by most security scanners and compliance frameworks
Why Security Headers Matter
Security headers are defence in depth for the failures you have not found yet. A Content-Security-Policy does not fix a cross-site scripting vulnerability, but it can stop the injected script from executing or from sending stolen data anywhere useful. HSTS does not fix a mixed-content bug, but it prevents the downgrade attack that would exploit it.
They are also among the very few controls that apply uniformly across an entire site with no code changes. For an application with years of accumulated legacy pages, headers protect every one of them at once.
They are also among the very few controls that apply uniformly across an entire site with no code changes. For an application with years of accumulated legacy pages, headers protect every one of them at once.
- Limit the damage of vulnerabilities you have not yet discovered
- Apply site-wide without touching application code
- HSTS prevents SSL stripping and protocol downgrade attacks
- CSP is the most effective mitigation available for cross-site scripting
- Their absence is flagged in essentially every security audit
How This Security Headers Checker Works
The tool makes an HTTP request to your site and analyses the response headers it receives.
- Validates the URL input against format and SSRF safety checks
- Issues an HTTP request and captures the full response headers
- Checks for each recommended security header in turn
- Evaluates the value of each header, not merely its presence
- Reports missing headers and weak configurations with specific fixes
How to Use the Security Headers Checker
- Enter your site URL in the input field
- Run the scan to fetch and analyse the response headers
- Review which recommended headers are missing
- Check the value of the headers that are present, since a weak value is close to no header
- Apply the suggested configuration and re-scan to confirm
Understanding Your Security Headers Results
Each header addresses a specific attack class. Here is what they do:
| Field / Value | Meaning |
|---|---|
Strict-Transport-Security |
Forces browsers to use HTTPS for all future requests to your domain. A good value is max-age=31536000; includeSubDomains. It prevents SSL stripping attacks on return visits. |
Content-Security-Policy |
Controls which sources may load scripts, styles, images and frames. The most powerful header available and the hardest to deploy, since a strict policy usually requires application changes. |
X-Frame-Options |
Prevents your pages being embedded in a frame on another site, blocking clickjacking. DENY or SAMEORIGIN. Superseded by the CSP frame-ancestors directive but still worth sending for older browsers. |
X-Content-Type-Options |
The single value nosniff stops browsers guessing a content type different from the one you declared, which prevents a class of attacks where an upload is interpreted as script. |
Referrer-Policy |
Controls how much URL information is sent when a user follows a link away from your site. strict-origin-when-cross-origin is a sensible default that avoids leaking paths and query strings. |
Permissions-Policy |
Declares which browser features — camera, microphone, geolocation — your site and its embedded frames may use. Disable everything you do not need. |
Common Problems & How to Fix Them
Best Practices
- Deploy HSTS with a long max-age once every subdomain works over HTTPS
- Roll out CSP in report-only mode before enforcing it
- Send X-Content-Type-Options: nosniff on every response
- Use CSP frame-ancestors alongside X-Frame-Options
- Set Referrer-Policy to strict-origin-when-cross-origin or tighter
- Disable unused browser features through Permissions-Policy
- Suppress version information in Server and X-Powered-By headers
- Re-scan after every deployment, since headers are easily lost in configuration changes
Security Recommendations
- Avoid unsafe-inline and unsafe-eval in CSP, since they negate most of its protection
- Test HSTS includeSubDomains carefully — every subdomain must serve valid HTTPS, and browsers cache the directive for the full max-age
- Consider HSTS preloading only when you are certain, because removal from the preload list takes months
- Set security headers at the edge or reverse proxy so they cannot be omitted by an individual application
- Collect and review CSP violation reports, as they reveal both misconfiguration and genuine injection attempts
- Remember headers are defence in depth, not a substitute for input validation and output encoding