What you need
The hostname of the site, exactly as visitors type it, and optionally a terminal with OpenSSL to copy the certificate chain. The live check runs from this site's server; the decoder works entirely in your browser.
Reading the result
A healthy result for a site might look like this:
| Field | Value |
|---|---|
| Subject | commonName=example.com |
| Issuer | countryName=US, organizationName=Example Trust, commonName=Example Issuing CA |
| Valid From | Sep 26 22:49:11 2026 GMT |
| Valid Until | Dec 25 22:56:35 2026 GMT |
| Subject Alternative Names | example.com, *.example.com |
The certificate is valid for 90 days and 7 minutes, a typical lifetime for automatically renewed certificates. Checked on 10 October 2026 it has 76 days left. Both the bare domain and the wildcard are listed, so example.com and www.example.com are both covered.
If the check fails instead, the error tells you where to look:
| Error text | Meaning | Usual fix |
|---|---|---|
certificate has expired |
The Valid Until date has passed | Renew, and check why automatic renewal failed |
Hostname mismatch, certificate is not valid for '...' |
The name you typed is not in the SAN list | Reissue with every hostname included |
self-signed certificate |
Not issued by a trusted authority | Replace with a CA-issued certificate |
self-signed certificate in certificate chain |
The chain ends at a root clients do not trust | Use a publicly trusted CA |
unable to get local issuer certificate |
The server does not send its intermediate certificate | Install the full chain file, not just the site certificate |
In the decoder, each certificate gets a badge such as Valid for 76 more days, CA for authority certificates, and Issued by the next certificate when the chain is in the right order. Not issued by the next certificate means the server sends the chain in the wrong order or with the wrong intermediate.
Common pitfalls
- Checking only the bare domain.
example.comandwww.example.comcan be served by different servers with different certificates. Check every name people use. - Trusting your browser alone. Browsers often repair a missing intermediate, so the site looks fine to you while apps and API clients fail.
- Pasting a URL with a path. The checker wants a hostname. It strips
https://, but only port 443 is tested. - Ignoring the renewal date until it is too late. Short-lived certificates depend on automation. A falling day count that never resets means renewal is broken.
- Treating the decoder as a validator. It shows what a certificate says; it does not verify signatures or revocation. Use the live check for that.
Going further
How the certificate, the key exchange and the chain of trust fit together during a TLS handshake is explained in How HTTPS and TLS Work.