9 min read · updated August 2, 2026
SSL checker guide: read a certificate before it breaks
SSL Certificate Checker
Check SSL certificate details — free, no signup
An SSL checker connects to your domain the way a browser does, retrieves the certificate the server presents, and reports what it finds: who issued it, which hostnames it covers, when it expires, whether the chain of trust is complete, and which TLS versions the server will negotiate. Five seconds of checking answers the question that matters — will a visitor's browser accept this connection, or show them a warning page instead of your site.
Certificate failures are uniquely unforgiving. A slow page still loads; a page with a bad meta description still ranks somewhere. An expired certificate produces a full-screen interstitial telling visitors the connection is not private, and most of them leave. The failure is also silently scheduled: the expiration date was written into the certificate on the day it was issued, which means every certificate outage was preventable by anyone who looked.
This guide walks through what each field in a certificate check means, how validation actually works inside the browser, the common failure modes and their fixes, and a renewal routine that fits how short certificate lifetimes have become.
What an SSL check reads from your server
The checker performs a TLS handshake with your domain on port 443 and captures the certificate chain the server sends back. From the leaf certificate — the one issued for your domain — it extracts the subject and the Subject Alternative Names, which together list every hostname the certificate is valid for. This is where www surprises live: a certificate for example.com does not cover www.example.com unless the SAN list says so, and vice versa.
The validity window is two timestamps, not-before and not-after, and the days-until-expiration figure is derived from the second one. The issuer field names the certificate authority — Let's Encrypt, DigiCert, Sectigo, GlobalSign, or a cloud provider's own CA — which matters mostly for knowing where renewal happens and what the certificate's lifetime is likely to be. Let's Encrypt certificates run 90 days by design; paid certificates have historically run about a year.
Beyond the certificate itself, the check reports connection properties: which TLS protocol versions the server accepts and which cipher suites it negotiates. Modern configuration means TLS 1.2 and 1.3 only. Anything still offering TLS 1.0 or 1.1 fails compliance baselines like PCI DSS and triggers warnings in current browsers, and the fix is a one-line change in the web server or load balancer configuration.
How certificate validation actually works
When a browser connects over HTTPS, the server presents its certificate during the TLS handshake, and the browser has to answer one question: does an unbroken chain of cryptographic signatures connect this certificate to an authority I already trust. The browser ships with a trust store — roughly 150 root CA certificates baked into the operating system or browser — and your site's certificate is never signed by a root directly. It is signed by an intermediate certificate, which is signed by the root, forming a chain: leaf, intermediate, root.
Validation walks that chain. Each certificate's signature is verified against its issuer's public key, hop by hop, until the walk lands on a root in the trust store. Alongside the signature math, the browser checks that the current time falls inside every certificate's validity window, that the hostname in the address bar matches an entry in the leaf's SAN list, and that no certificate in the chain has been revoked. Any single failure aborts the connection with a warning.
The chain explains the most confusing failure in the business: the incomplete chain. Servers are supposed to send the leaf plus all intermediates, but a server configured with only the leaf will still work in Chrome and Safari — both can fetch missing intermediates on the fly or have them cached. Then a customer on an older Android device, a curl script, or a payment provider's API client hits the same site and fails hard, because stricter clients only trust what the server actually sends. This is why it works in my browser is worthless evidence for TLS problems, and why a checker that inspects the served chain settles the argument in seconds.
One more moving part: the certificate proves identity, not encryption strength. Encryption is negotiated separately in the handshake, via the TLS version and cipher suite. That is why a check reports both — a perfectly valid certificate can sit on a server still speaking a protocol version from 2008.
Common failures and what each one means
Most SSL problems collapse into a short list of causes, and the checker's output tells you which one you have. Match the symptom to the finding and the fix is usually mechanical.
- Expired certificate — the not-after date has passed; every browser blocks the site until you renew and deploy, and the only real fix is automated renewal so it cannot recur
- Hostname mismatch — the SAN list does not include the visited hostname, typically the www or apex variant; reissue with both names or use a wildcard
- Incomplete chain — the server sends the leaf without intermediates; works in Chrome, fails on Android, curl, and many API clients; install the full chain file the CA provided
- Self-signed certificate — no path to a trusted root, common on staging boxes accidentally exposed or origin servers reached directly instead of through the CDN
- Deprecated TLS versions — the server still accepts TLS 1.0 or 1.1; disable them in the server or load balancer config to satisfy browsers and PCI DSS alike
- Wrong certificate served — multi-site servers and misconfigured SNI can present a different domain's certificate; a checker shows exactly which certificate answered
Scenarios worth a check
After every certificate installation or renewal. Deployment is where things go wrong: the new certificate is on the load balancer but not the origin, the intermediate file was forgotten, or one of four edge servers kept the old certificate. A post-deploy check verifies what is actually being served, not what the control panel claims.
When a customer reports an error you cannot reproduce. Reports like your site says not secure arrive while everything looks fine on your machine — the incomplete-chain signature, or a CDN serving different certificates in different regions. Checking from a neutral vantage point shows what external clients receive rather than what your primed browser cache shows you.
Before a launch or campaign. A product launch that sends thousands of paid clicks at a landing page whose certificate expires mid-campaign is an expensive way to discover renewal dates. Checking every domain involved — including the link-shortener domain and the tracking subdomain — takes a minute and belongs on the pre-flight list.
On a renewal calendar. Let's Encrypt certificates expire every 90 days, which means automation is mandatory — and automation fails quietly: a changed DNS record, an expired API token, a renewal cron job lost in a server migration. A monthly check of your domains, plus an alert threshold at 30 days remaining, catches a dead renewal pipeline while there is still time to fix it calmly. Anyone running more than a handful of domains has been saved by this habit at least once.
Staying ahead of expiration
Certificate lifetimes have been shrinking for a decade and the trend is accelerating. Public certificates have been capped at 398 days since 2020, Let's Encrypt normalized 90-day certificates years before that, and the CA/Browser Forum has approved stepping maximum lifetimes down over the coming years toward 47 days by 2029. The direction is unambiguous: manual renewal is being deliberately engineered out of viability, and every operator will end up on automation.
The durable setup is therefore automation plus verification. Let the ACME client — certbot, or the built-in support in Caddy, Traefik, and most managed platforms — handle issuance and renewal, and treat periodic external checks as the smoke alarm that tells you the automation is still alive. Check after every deploy that touches TLS, check monthly otherwise, and investigate any certificate that gets within 30 days of expiry without renewing, because a healthy ACME setup renews around 30 days out and one that has not is telling you something is broken.
Keep an inventory while you are at it. Expiry incidents disproportionately involve the forgotten certificate — the API subdomain, the staging environment a customer somehow bookmarked, the domain bought for one campaign. A checker only protects the domains you remember to point it at, so the list is half the defense.
Common questions
SSL Certificate Checker FAQs
- How do I check when my SSL certificate expires?
- Run the domain through an SSL checker and read the not-after date and the days-remaining figure it reports. This inspects the certificate your server actually presents, which is more reliable than the issuance record in your CA dashboard, because a renewed certificate that was never deployed still shows the old date to visitors. Set yourself a review threshold at 30 days remaining.
- Why does my site say not secure when I have an SSL certificate?
- Having a certificate and serving it correctly are different things. The usual causes are a hostname mismatch, where the certificate covers example.com but not www.example.com, an incomplete chain missing its intermediate certificate, an expired certificate still deployed, or pages loading images and scripts over plain http, which triggers mixed-content warnings even with a valid certificate. An SSL check identifies which of these applies within seconds.
- What is an SSL certificate chain?
- The chain is the sequence of certificates linking your domain's certificate to a root authority that browsers already trust: your leaf certificate is signed by an intermediate, and the intermediate is signed by the root. Servers must send the leaf and all intermediates during the handshake. When the intermediates are missing, major desktop browsers often recover silently, but older mobile devices and API clients fail with trust errors — the classic works-for-me certificate bug.
- Are free Let's Encrypt certificates as good as paid ones?
- Cryptographically, yes — a domain-validated Let's Encrypt certificate provides exactly the same encryption strength and browser trust as a paid domain-validated certificate, and no ranking or trust indicator distinguishes them. The practical differences are the 90-day lifetime, which requires automated renewal, and the absence of paid extras like organization validation and warranty coverage that most sites never need.
- What TLS version should my website support in 2026?
- TLS 1.2 and TLS 1.3, and nothing older. TLS 1.0 and 1.1 were deprecated in 2020, current browsers warn on them, and PCI DSS forbids them for anything handling card data. TLS 1.3 is worth enabling alongside 1.2 for its faster handshake — one round trip instead of two — which directly improves time to first byte on new connections.
- What happens when an SSL certificate expires?
- Browsers immediately block the site behind a full-page warning stating the connection is not private, and most visitors will not click through it. API clients and payment integrations fail at the same moment, which is how a marketing site expiry becomes a checkout outage. Recovery means renewing and deploying the new certificate; the lost traffic during the gap is unrecoverable, which is why expiry monitoring matters more than reaction speed.
Certificates fail on a schedule that was published the day they were issued, and the checker exists so that schedule never surprises you. Verify after every deploy, scan your domain list monthly, alarm at 30 days, and let ACME automation do the renewing while external checks confirm it actually happened.
The ToolDoor SSL certificate checker handles the inspection side — enter any domain and read the issuer, SAN coverage, chain status, TLS versions, and days until expiry. It is free, requires no signup, and checks any public domain, including the staging subdomain you have been meaning to look at.
Nearby doors