Skip to content
CyberVigil
Free tool · No signup

Free security headers checker

See which browser security settings your website sends, and get copy-paste fixes for what's missing.

Quick answer

The security headers checker loads your website and reads six browser security settings your server sends: HSTS, Content-Security-Policy, X-Content-Type-Options, clickjacking protection (X-Frame-Options or frame-ancestors), Referrer-Policy and Permissions-Policy. A good result has all six in place. Two to five is partially configured, and fewer than two needs attention.

What does this checker look at?

Security headers are short instructions your website sends to the browser along with every page. Visitors never see them, but they turn on browser protections against attacks like clickjacking and injected code.

When you enter your domain, the checker loads your homepage the way a browser would and reads the response headers. It looks for six:

  • Strict-Transport-Security (HSTS): tells browsers to always use HTTPS for your site. We check that max-age is at least six months.
  • Content-Security-Policy (CSP): limits where scripts, styles and other resources can load from, which helps guard against injected code.
  • X-Content-Type-Options: set to nosniff, it stops browsers guessing a file's type and treating it as something more dangerous.
  • Clickjacking protection: either X-Frame-Options set to DENY or SAMEORIGIN, or a CSP frame-ancestors rule. This stops other sites secretly embedding your pages.
  • Referrer-Policy: controls how much of your page address is shared when visitors click a link to another site.
  • Permissions-Policy: turns off parts of the browser your site doesn't use, like the camera, microphone or location.

How do I read my results?

Configured means all six headers are present with acceptable values. You don't need to do anything else.

Partially configured means between two and five headers are in place. Your site has some protection, and adding the rest is usually a short job. The result lists which headers are missing or weak.

Needs attention means fewer than two of the six headers are in place. That's common, especially on sites that have never been configured for this, and it's quick to improve.

A header can be present and still count as weak. Here's what we look for:

  • HSTS with a max-age shorter than six months is listed as weak.
  • X-Content-Type-Options only counts when it's set to nosniff.
  • X-Frame-Options only counts when it's DENY or SAMEORIGIN. A CSP frame-ancestors rule also counts.
  • Referrer-Policy set to unsafe-url doesn't count, because it shares full page addresses with every site you link to.
  • CSP and Permissions-Policy count whenever they're present.

If you see Couldn't check, we couldn't load your homepage. Check that the address is right and the site is online, then try again.

How do I fix common problems?

Security headers are server settings, so where you add them depends on how your site is hosted. These values are safe defaults for most small business websites:

  • TypeHeader
    Name / HostStrict-Transport-Security
    Valuemax-age=31536000; includeSubDomains
  • TypeHeader
    Name / HostX-Content-Type-Options
    Valuenosniff
  • TypeHeader
    Name / HostX-Frame-Options
    ValueSAMEORIGIN
  • TypeHeader
    Name / HostReferrer-Policy
    Valuestrict-origin-when-cross-origin
  • TypeHeader
    Name / HostPermissions-Policy
    Valuecamera=(), microphone=(), geolocation=()
  • TypeHeader
    Name / HostContent-Security-Policy
    Valueframe-ancestors 'self'; upgrade-insecure-requests
  • In Cloudflare, add each header with a Response Header Transform Rule that applies to all requests.
  • On WordPress, ask your host whether they can add headers in their control panel. If not, a reputable headers plugin can do it. Our WordPress security checklist covers this alongside other hardening steps.
  • On Apache or Nginx, add the headers to your .htaccess file or server block, then reload.
  • Squarespace, Wix and Shopify manage headers for you, so contact their support about anything missing.

Only add HSTS once HTTPS works on every page of your site, including subdomains if you use includeSubDomains. You can confirm your certificate with the free SSL checker. After adding headers, click around your site, especially forms, embedded videos and checkout, then run this checker again.

For a broader look at protecting your site, see our guide to website security.

Is this check safe to run?

Yes. The checker makes an ordinary request for your homepage, the same as any visitor's browser, and reads the headers your server already sends. It doesn't log in, submit forms, scan ports or change anything on your site.

Nothing is installed, and you don't need to sign in. Single-check tools like this one don't store the domains you look up. For a saved report that covers headers alongside your certificate and email setup, run the free website security scan.

Common questions

What are security headers?

They're short instructions your web server sends with each page, telling the browser how to behave, such as always using HTTPS or refusing to load your site inside another site. Visitors never see them.

Which security header should I add first?

For most small business sites, HSTS, X-Content-Type-Options and clickjacking protection are quick wins with little risk. Content-Security-Policy is the most powerful but needs the most care, so it's fine to add it last.

Can adding security headers break my website?

Most won't. Content-Security-Policy is the exception, because a strict policy can block scripts, fonts or embedded videos your site relies on. Start with a simple policy, test your forms and checkout, then tighten it over time.

Why does HSTS need a long max-age?

max-age tells browsers how many seconds to remember to use HTTPS only. Our check looks for at least six months (15552000 seconds). One year (31536000) is common and is the minimum for the HSTS preload list.

Can I add security headers on Squarespace, Wix or Shopify?

Hosted website builders manage most headers themselves and usually don't let you change them directly. Ask the platform's support whether they plan to add a missing header. For full control, some businesses put their site behind a CDN like Cloudflare and add headers there.

Sources

  1. Strict-Transport-Security header (MDN Web Docs)
  2. Content-Security-Policy (CSP) header (MDN Web Docs)
  3. RFC 6797: HTTP Strict Transport Security (HSTS) (RFC Editor)
Get the full picture

Run the full free security scan

Check your website, email and domain together, with a prioritized plan and step-by-step fixes.

  • Free check
  • No signup
  • No changes to your website