Skip to content
LookupOwl

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.

Just the host, like example.com. We use port 443 unless you change it.

More options

TCP port. Allowed: 443, 465, 587, 636, 853, 993, 995, 8443 (587 is SMTP with STARTTLS). A port written in the host overrides this.

Results for example.com

Checked live lookup48 ms

JSONCheck again

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.

Trusted chainHost name matchesTLS 1.3
Expires in

2026-12-25 · 90-day certificate

Chain of trust

Each certificate is signed by the next, up to a root your browser already trusts.

Protocol
TLS 1.3

TLS AES 256 GCM SHA384

Issuer
SSL Corporation

Cloudflare TLS Issuing ECC CA 3

Names covered
2names

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
#RoleSubjectIssuerValid until
1Leafexample.comCloudflare TLS Issuing ECC CA 3
2IntermediateCloudflare TLS Issuing ECC CA 3SSL.com TLS Transit ECC CA R2
3IntermediateSSL.com TLS Transit ECC CA R2SSL.com TLS ECC Root CA 2022
4Last in chainSSL.com TLS ECC Root CA 2022AAA 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
}

Next step

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

  1. 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.
  2. 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.
  3. 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 leftStatusWhat to do
More than 30HealthyNothing, if automatic renewal is working.
15 to 30Renewal dueConfirm 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 15Renewal failingInvestigate now: DNS or HTTP validation, rate limits, file permissions or a stopped service.
ExpiredVisitors see a warningIssue 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.

Shell
# 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
curl "https://lookupowl.com/api/v1/tools/ssl-checker?q=example.com"
MCP
claude mcp add --transport http lookupowl https://lookupowl.com/mcp