The OriginalHostChecker

Security

SSL Certificate Expired? How to Fix It

An expired certificate turns a working site into a browser warning within minutes. This covers what causes it, how to fix it, and how to prevent it from happening again.

Published April 2026 · 4 min read

Browser security warning for an expired SSL certificate

An SSL/TLS certificate has two jobs: it encrypts traffic between a server and a visitor's browser, and it proves the server is who it claims to be. Every certificate carries an expiration date, and once that date passes, browsers stop trusting it, no matter how well-configured the rest of the site is.

Check a certificate now See any site's expiration date, issuer, and days remaining on HostChecker.

What happens the moment it expires

There's no grace period. The instant a certificate passes its expiration timestamp, browsers like Chrome, Firefox, and Safari flag the connection as untrusted and show a full-page warning ("Your connection is not private" or similar) before the page loads. Many visitors close the tab rather than click through it, and anything that cannot click through, such as an app, an API client, or a script, simply fails.

Why certificates expire in the first place

Certificate lifetimes are capped for security reasons: a shorter validity window limits how long a compromised or misissued certificate can be abused before it's forced to renew. Let's Encrypt's default certificate is valid for 90 days today, dropping to 64 days on 10 February 2027 and 45 days on 16 February 2028. For every public certificate authority the maximum is now 200 days (it was 398 days until March 2026), falling to 100 days in March 2027 and 47 days in March 2029. Either way, renewal is not optional, and a very common cause of an expired certificate isn't a technical failure. It's a renewal step that depended on a person remembering to run it.

How to renew, by hosting setup

  • Shared hosting (cPanel, Plesk): most control panels auto-renew certificates issued through the host. If yours didn't, the SSL/TLS section of the panel usually has a manual "reissue" or "run AutoSSL" option.
  • Let's Encrypt on your own server: renewal is a command, typically certbot renew, meant to run automatically via cron or systemd timer. If it expired anyway, check whether the scheduled job is installed and whether previous runs failed silently.
  • Commercial CA (DigiCert, Sectigo, etc.): you'll usually need to generate a new CSR, complete domain validation again, and install the reissued certificate on your server or load balancer.
  • Behind Cloudflare or a similar CDN: check both ends. The edge certificate and the origin certificate expire independently, and a warning can come from either side.

Making sure it doesn't happen again

The reliable fix is to remove the manual step. If you're on Let's Encrypt, confirm the auto-renewal job is installed and firing, not just configured, by checking its logs after the fact rather than assuming it ran. If you're on a commercial certificate with a longer lifetime, put the renewal date somewhere with an alert attached, not just a calendar entry that's easy to dismiss. Either way, a periodic check that reports days-until-expiry catches a stalled renewal before it becomes an outage instead of after.

The takeaway

An expired certificate usually means a renewal was missed, and nothing else on the site is wrong. The fix is quick once you know which side (origin, CDN, or CA) needs the new certificate, and the real defense is catching it days before expiry rather than minutes after. HostChecker's SSL check shows issuer, expiration date, and days remaining for any host, so you can confirm a fix or catch a stalled renewal before it expires.

Verify your fix worked Re-check the certificate on HostChecker to confirm the new expiration date.

All free tools

More from the blog

What Is SNI? How Server Name Indication Works and How to Test ItWhat SNI is, why servers need it, what happens when the name is missing, and how to test it. Why Ping Fails: 5 Causes Besides an OutageFive common causes of a ping timeout, and how to confirm whether a host is down. Understanding Traceroute: How to Read Every HopHow traceroute works, how to read every hop, and what timeouts and latency jumps mean. How Long Does DNS Propagation Take?Why a DNS change takes as long as it does, how to shorten the wait, and how to check where it stands. All articles →