SSL certificate expiry checker
See the exact date a site's SSL certificate expires and how many days are left before visitors get a warning.
Results for example.com
Secure
Valid and trusted
example.com has a valid certificate from Cloudflare TLS Issuing ECC CA 3 that browsers trust. It runs for another 40 days.
2026-12-25 · 90-day certificate
Each certificate is signed by the next, up to a root your browser already trusts.
TLS AES 256 GCM SHA384
Cloudflare TLS Issuing ECC CA 3
example.com, *.example.com
Certificate
- Subject
- example.com
- Issuer
- Cloudflare TLS Issuing ECC CA 3
- Valid from
- Valid until
- (in 40 days)
- Public key
EC 256- Signature
ecdsa-with-SHA256- Serial number
01EEE6AABB521D5E14FC315FD9985690- SHA-256 fingerprint
85:CA:6A:B0:68:E9:BC:CE:88:B6:C4:AA:3C:47:F7:D1:72:28:13:4A:45:7F:87:0D:38:00:E6:22:3A:0D:F0:7A
Connection
- Host
- example.com:443
- Address
2606:4700:10::ac42:93f3- Protocol
TLS 1.3- Cipher
TLS_AES_256_GCM_SHA384- ALPN
h2- OCSP stapling
- Yes
Names2
Names this certificate covers. A browser accepts it only for these.
example.com*.example.com
Chain4
| # | Role | Subject | Issuer | Valid until |
|---|---|---|---|---|
| 1 | Leaf | example.com | Cloudflare TLS Issuing ECC CA 3 | |
| 2 | Intermediate | Cloudflare TLS Issuing ECC CA 3 | SSL.com TLS Transit ECC CA R2 | |
| 3 | Intermediate | SSL.com TLS Transit ECC CA R2 | SSL.com TLS ECC Root CA 2022 | |
| 4 | Last in chain | SSL.com TLS ECC Root CA 2022 | AAA Certificate Services |
Structured result (JSON) · 3.3 KB
{
"host": "example.com",
"port": 443,
"ip": "2606:4700:10::ac42:93f3",
"verdict": "valid",
"valid": true,
"authorized": true,
"hostnameMatch": true,
"chain": [
{
"subject": {
"CN": "example.com"
},
"issuer": {
"C": "US",
"O": "SSL Corporation",
"CN": "Cloudflare TLS Issuing ECC CA 3"
},
"san": [
"example.com",
"*.example.com"
],
"validFrom": "2026-09-26T22:49:11.000Z",
"validTo": "2026-12-25T22:56:35.000Z",
"serialNumber": "01EEE6AABB521D5E14FC315FD9985690",
"fingerprint256": "85:CA:6A:B0:68:E9:BC:CE:88:B6:C4:AA:3C:47:F7:D1:72:28:13:4A:45:7F:87:0D:38:00:E6:22:3A:0D:F0:7A",
"keyType": "EC",
"keyBits": 256,
"signatureAlgorithm": "ecdsa-with-SHA256",
"isCA": false,
"selfSigned": false
},
{
"subject": {
"C": "US",
"O": "SSL Corporation",
"CN": "Cloudflare TLS Issuing ECC CA 3"
},
"issuer": {
"C": "US",
"O": "SSL Corporation",
"CN": "SSL.com TLS Transit ECC CA R2"
},
"san": [],
"validFrom": "2025-05-29T19:49:45.000Z",
"validTo": "2035-05-27T19:49:44.000Z",
"serialNumber": "31EEE88AFB87CD9EF8336604743F9B27",
"fingerprint256": "F1:5F:29:AB:EF:73:AA:4D:D9:AB:75:4B:AE:AE:36:85:BD:D3:87:4B:46:B5:25:07:11:77:62:86:85:71:80:26",
"keyType": "EC",
"keyBits": 256,
"signatureAlgorithm": "ecdsa-with-SHA384",
"isCA": true,
"selfSigned": false
},
{
"subject": {
"C": "US",
"O": "SSL Corporation",
"CN": "SSL.com TLS Transit ECC CA R2"
},
"issuer": {
"C": "US",
"O": "SSL Corporation",
"CN": "SSL.com TLS ECC Root CA 2022"
},
"san": [],
"validFrom": "2022-10-21T17:02:23.000Z",
"validTo": "2037-10-17T17:02:22.000Z",
"serialNumber": "604D8AF8D00BA8748B955853172C5F2E",
"fingerprint256": "5D:1B:C3:99:27:4E:64:9E:1C:72:69:7D:E9:1A:54:AD:72:50:88:C5:22:1C:B6:1E:17:EE:9C:29:0B:C4:2A:92",
"keyType": "EC",
"keyBits": 384,
"signatureAlgorithm": "ecdsa-with-SHA384",
"isCA": true,
"selfSigned": false
},
{
"subject": {
"C": "US",
"O": "SSL Corporation",
"CN": "SSL.com TLS ECC Root CA 2022"
},
"issuer": {
"C": "GB",
"ST": "Greater Manchester",
"L": "Salford",
"O": "Comodo CA Limited",
"CN": "AAA Certificate Services"
},
"san": [],
"validFrom": "2025-08-01T00:00:00.000Z",
"validTo": "2028-12-31T23:59:59.000Z",
"serialNumber": "173DCA60EA9F8E1026DAFCD72810E48E",
"fingerprint256": "BA:06:D3:D3:E3:48:FC:E7:47:8C:C8:4B:42:2D:0E:63:8E:9E:22:1E:F1:A0:B5:3A:DC:14:CC:70:E0:4B:8A:B8",
"keyType": "EC",
"keyBits": 384,
"signatureAlgorithm": "sha256WithRSAEncryption",
"isCA": true,
"selfSigned": false
}
],
"issues": [],
"checkedAt": "2026-11-15T18:23:34.472Z",
"ms": 46,
"expiresAt": "2026-12-25T22:56:35.000Z",
"daysToExpiry": 40,
"issuedAt": "2026-09-26T22:49:11.000Z",
"lifetimeDays": 90,
"subject": "example.com",
"issuer": "Cloudflare TLS Issuing ECC CA 3",
"protocol": "TLSv1.3",
"cipher": "TLS_AES_256_GCM_SHA384",
"alpn": "h2",
"ocspStapled": true
}More in Security
Next step
- Certificate searchWhich certificates were ever logged for it?Check example.com in Certificate search
- Security headersGrade the headers it sendsCheck example.com in Security headers
- Is it down?Does the site open from other countries?Check example.com in Is it down?
Why expiry checks matter more every year
An expired certificate turns a working site into a scary one in an instant. Browsers show a full-page warning, API clients refuse to connect and mail servers may drop deliveries. It is one of the most common and most avoidable outages. This page connects to the host, reads the certificate it serves and tells you the expiry date, the days left and the names the certificate covers.
Lifetimes are shrinking too. The CA/Browser Forum, where browsers and certificate authorities agree the rules, has decided that publicly trusted certificates may be valid for at most 200 days when issued from 15 March 2026, 100 days from 15 March 2027 and 47 days from 15 March 2029. Renewing by hand once a year is already off the table, and by 2029 a manual renewal would come round every few weeks.
How to check and track expiry
- Check each public nameEnter every hostname that serves HTTPS, including
www, API and mail hosts. A wildcard certificate may cover many of them, but each endpoint can serve a different certificate. - Read the days leftA healthy certificate reads “Valid and trusted” with the days remaining. At 30 days or fewer the headline turns into “Expires in 23 days” with a Renew soon label. Under 15 days usually means your renewal process is broken.
- Set a reminder or automateAdd calendar reminders, and set up automatic renewal so you never depend on them.
Understanding the dates
The days left tell you what to do next. The ring on the result shows them against the certificate's whole lifetime, so a 90-day certificate with 10 days left looks nearly empty. The bands below suit 90-day certificates. As lifetimes shrink, scale them down, since renewal is usually due with about a third of the life left.
| Days left | Status | What to do |
|---|---|---|
| More than 30 | Healthy | Nothing, if automatic renewal is working. |
| 15 to 30 | Renewal due | Confirm the renewal job has run. Certificates issued by ACME clients (the tools that renew automatically) usually renew at about two-thirds of their life. |
| Under 15 | Renewal failing | Investigate now: DNS or HTTP validation, rate limits, file permissions or a stopped service. |
| Expired | Visitors see a warning | Issue and install a new certificate straight away, then reload the server. |
- Intermediate and root expiry. Every certificate in the chain has its own dates, and the Chain tab lists them. A leaf with months left can still fail if an intermediate on the server has expired.
- Several certificates behind one name. A load balancer may serve different certificates from different nodes. Check again if the date seems to change between attempts.
- Not the domain expiry. The certificate and the domain registration are separate. Check the registration with the domain expiration checker.
Why renewals fail
- Validation can't complete. HTTP validation needs port 80 open and the right path. DNS validation needs working API credentials for your DNS host.
- Renewed but not reloaded. The new file exists, but the web server still serves the old one from memory. Add a reload hook to the renewal.
- Hosting changed. A migrated site kept the old server's cron job, or none at all.
- CAA blocks the CA. A new CAA record, or a switch of certificate authority without updating it, makes issuance fail. A CAA lookup shows which authorities are allowed.
- Rate limits. Repeated failed attempts can trigger a certificate authority's limits. Fix the cause before you retry.
- Forgotten endpoints. Staging sites, mail servers, VPN gateways and admin panels often have manual certificates that nobody tracks.
How the check works and the standards
LookupOwl performs a TLS handshake with the correct server name, reads the leaf certificate's validity period and subject alternative names, and counts the days remaining in UTC. Automatic issuance and renewal use the ACME protocol (RFC 8555). Validity rules are set by the CA/Browser Forum Baseline Requirements (ballot SC-081), and certificate fields are defined in RFC 5280. For the chain, key and protocol details, use the full SSL checker.
# The expiry date, from a terminal
echo | openssl s_client -connect example.com:443 -servername example.com 2>/dev/null | openssl x509 -noout -enddate
# Exit code 0 if valid for at least 30 more days
echo | openssl s_client -connect example.com:443 -servername example.com 2>/dev/null | openssl x509 -noout -checkend $((30*86400))Questions people ask
How do I check when my SSL certificate expires?
Enter the hostname above and read the days left. The page connects to the live server the way a browser would, so you see the certificate your visitors actually get. In a terminal, openssl x509 -noout -enddate gives the same date, and the openssl s_client command further down this page shows the full one-liner.
How long are SSL certificates valid now?
Public certificates issued from 15 March 2026 may last at most 200 days. Before that the limit was 398 days. It falls to 100 days on 15 March 2027 and to 47 days on 15 March 2029. Let's Encrypt has issued 90-day certificates for years and plans to shorten them further. Shorter lifetimes limit the damage from a stolen key and push everyone toward automatic renewal.
What happens when an SSL certificate expires?
Browsers show a full-page warning that most visitors won't click through, apps and APIs refuse the connection, and payment or login flows can fail. The site behind the warning is usually fine, which is why the outage is so avoidable. Installing a new certificate and reloading the server fixes it, often within minutes.
Can I renew a certificate early?
Yes, and automated clients do. Renewing at about two-thirds of the certificate's life leaves weeks to fix a failure before expiry. With automated certificates, renewing early costs nothing, and the new certificate takes over as soon as your server reloads. There is no reason to wait for the last week.
Why does the date differ from my CA dashboard?
The dashboard probably shows a newer certificate that hasn't been installed yet. This page shows what the live server is serving right now, which is what visitors get. If the dates differ, install the new certificate, reload the service and check again. If you run several servers, make sure each one has been updated.
Does a wildcard certificate expire sooner?
No. Wildcard certificates have the same maximum lifetime as any other public certificate. They matter more because one wildcard often covers many hosts, so a single expiry can take down several services at once. Check every endpoint that uses it, and set up one renewal job that reloads all of them.
Does the check include intermediate certificates?
The headline and the days left come from the certificate your visitors see first, called the leaf. The Chain tab lists when each certificate above it ends, so you can spot an intermediate that has expired or is about to. A chain is only as healthy as its weakest link, so look at every row.
Use it from AI, the API or the command line
Every LookupOwl tool is also a free API and an MCP tool, with no key and no account. This one is ssl_check. Please be kind to the rate limits.
curl "https://lookupowl.com/api/v1/tools/ssl-checker?q=example.com"claude mcp add --transport http lookupowl https://lookupowl.com/mcp