HTTP security headers scanner

Paste HTTP headers and find missing security headers such as HSTS, CSP, and X-Frame-Options.

{{ httpSecurityHeadersScanner.message }}

Overview

HTTP/1.0 of 1996 had no security headers at all — the web was a collection of static documents shared among universities, and the concept of application-layer attacks barely existed. The first widely adopted security header was `X-Frame-Options`, introduced by Microsoft in Internet Explorer 8 in 2009 as a direct response to clickjacking — a technique where a malicious page embeds another in an invisible iframe and tricks the user into clicking elements of the original page. `Strict-Transport-Security` (HSTS) arrived in RFC 6797 in 2012, forcing the browser to never access a domain over HTTP even if the user types `http://`. Content Security Policy, also specified by the W3C in 2012, was the most comprehensive answer to XSS: a declarative whitelist of trusted sources for scripts, styles, images, and other resources. Attacks like BEAST (2011) and Heartbleed (2014) accelerated the adoption of HTTPS and, along with it, the security headers that only make sense in an encrypted context.

Each header addresses a specific class of attack. `Strict-Transport-Security` with `includeSubDomains` and `preload` places the domain on browsers' hardcoded list — once on that list, not even a compromised certificate allows an HTTP connection. `Content-Security-Policy` is the most powerful and the hardest to implement: it blocks inline script execution and resources from unauthorized origins, eliminating the XSS attack surface — but any browser extension or unlisted third-party CDN will break functionality. `X-Content-Type-Options: nosniff` prevents older browsers from guessing a file's type by ignoring the `Content-Type` — a technique called MIME sniffing that could turn an image upload into an executable script. `Referrer-Policy` controls how much of the current URL is sent as a referrer in cross-origin requests. `Permissions-Policy` (formerly `Feature-Policy`) restricts access to sensitive browser APIs — camera, microphone, geolocation — that a page or its iframes can use.

This tool analyzes the header block you paste — obtained with `curl -I https://yoursite.com` or copied from the Network panel in DevTools — and identifies which security headers are missing and the impact of each absence. A site without HSTS is vulnerable to downgrade attacks; without CSP, to stored XSS via CDNs; without `X-Frame-Options`, to clickjacking. Scott Helme's securityheaders.com service popularized an A-to-F grade for sites based on these headers, creating a public benchmark that motivated many teams to implement them. A practical tip for progressive implementation: CSP accepts a `Content-Security-Policy-Report-Only` mode that logs violations without blocking anything — letting you discover what would break before applying the policy in full enforcement mode. Starting with `default-src 'self'` and iterating based on the reports is the most practical approach for sites with third-party dependencies.

Technical deep dive

Common questions summarized

  • What is this tool for?: It runs fully in your browser: useful to validate, format, or convert data in everyday development.
  • Are my inputs sent to a server?: Processing happens locally with JavaScript. We do not store what you paste into the text areas.
  • Can I use this for real production data?: Use at your own risk. For secrets (passwords, tokens), prefer controlled environments and your company policies. And always review the generated contents. Never trust blindly things you see on the internet.

Sample payload to try

  • See also the larger "Code Snippets" sample; paste this excerpt to try locally: Example — Strict-Transport-Security: max-age=31536000 X-Frame-Options: SAMEORIGIN

Tool guide

  • What security headers are HTTP response headers that reduce risks such as clickjacking, MIME sniffing, and transport downgrade.

  • What the tool manipulates A pasted block of raw HTTP headers from browser/devtools/proxy/API client.

  • What the tool does Checks presence and baseline quality of headers such as HSTS, CSP, X-Frame-Options, X-Content-Type-Options, and Referrer-Policy.

  • Why use it Quick hardening review for web apps/APIs and pre-release security checklists.

Code Snippets

Code example
Strict-Transport-Security: max-age=31536000
X-Frame-Options: SAMEORIGIN

Example

Strict-Transport-Security: max-age=31536000
X-Frame-Options: SAMEORIGIN

FAQ

What is this tool for?

It runs fully in your browser: useful to validate, format, or convert data in everyday development.

Are my inputs sent to a server?

Processing happens locally with JavaScript. We do not store what you paste into the text areas.

Can I use this for real production data?

Use at your own risk. For secrets (passwords, tokens), prefer controlled environments and your company policies. And always review the generated contents. Never trust blindly things you see on the internet.