Mixed Content Checker
Find insecure http resources loaded on an HTTPS page.
The Mixed Content Checker inspects whether an HTTPS page loads insecure resources over plain http:// — images, scripts, stylesheets and more. Enter a URL and the server fetches the page's HTML, then scans the img, script, link, iframe, video, audio and source tags for any plaintext HTTP resource, listing each one by tag, address and total count.
Mixed content breaks the padlock icon, and modern browsers outright block active content such as scripts and stylesheets, which can break your layout or functionality. Run this tool before and after a deploy to make sure no plaintext links remain. A count of zero is healthy; any insecure resource is flagged as dangerous.
Why mixed content is dangerous
Even when the page body is delivered encrypted over HTTPS, any resource it pulls in over plain HTTP is exposed to interception and tampering. An attacker who swaps out a script in transit can compromise the whole page, so browsers treat mixed content as a security weakness.
- Active content (script, iframe, link[stylesheet]) is usually blocked outright.
- Passive content (img, video, audio) is blocked or shown with a warning.
- The padlock icon changes to "not secure" or a partially secure state.
How to fix it
The simplest fix is to change every resource URL to https://, or to use protocol-relative (//example.com/...) or root-relative (/assets/...) paths. If an external host has no HTTPS support, move the resource onto your own server or switch to a host that does. For bulk migration you can apply a temporary upgrade with the Content-Security-Policy: upgrade-insecure-requests header. Use the security headers checker to confirm that CSP and your other security headers actually landed in the response.