How to use the certificate expiry checker
- Get the certificate as PEM. From a live server, run
openssl s_client -connect example.com:443 -servername example.com </dev/null | openssl x509 -outform PEM. - Paste the block, with its BEGIN and END lines, into the box.
- Leave the check date empty to compare against the current time on your device, or enter a UTC date to see the status on that day.
- Read the status and days remaining, then review the warnings for weak signatures, small keys or missing SANs.
How the days remaining are calculated
Every certificate stores two UTC timestamps, Not before and Not after. This ssl certificate expiry checker subtracts the check time from Not after and rounds down to whole days. For the example certificate, Not after is 2026-03-01 12:30:45 UTC. Checked on 2026-02-15 at midnight UTC, the difference is 14 days and about 12.5 hours, so the result is 14 days.
After expiry the value turns negative and counts whole days since the certificate ended. All times are UTC, so a certificate that ends at midnight UTC is already expired that evening in the Americas.
What the status values mean
| Status | Meaning |
|---|---|
| Valid | Inside the validity window with 30 days or more left |
| Valid, expires within 30 days | Inside the window with fewer than 30 days left: renew now |
| Expired | Not after is in the past. Clients will refuse the certificate |
| Not yet valid | Not before is in the future. Often a wrong clock on a server or device |
The same date field lets you plan ahead. Enter the date of a release or a holiday freeze to see whether a certificate will still be valid then.
Warnings and why they appear
The Warnings row is None for a healthy certificate. Otherwise it lists one or more of these:
- Weak signature algorithm: MD2, MD4, MD5 and SHA-1 signatures are obsolete. Public CAs stopped issuing SHA-1 TLS certificates in 2016 and browsers reject them.
- RSA key below 2048 bits: 1024-bit RSA can be attacked with enough resources and is not accepted by public CAs.
- No Subject Alternative Names: modern clients match the hostname against SANs, so a certificate without them fails hostname checks.
The Self-signed row compares the encoded issuer and subject. Root CA certificates are self-signed by design, while a self-signed server certificate triggers trust warnings in browsers. To see every field, open the same file in the SSL certificate decoder.
Certificate lifetimes and renewal timing
Lifetimes keep getting shorter. Let's Encrypt issues 90-day certificates, and public CAs have been limited to 398 days since September 2020. The CA/Browser Forum has approved a schedule that lowers the maximum to 200 days from March 2026, 100 days from March 2027 and 47 days from March 2029.
With short lifetimes, automated renewal matters more than reminders. A common rule is to renew when one third of the lifetime is left, which is 30 days for a 90-day certificate. The 30 day threshold in the status row is a practical warning for longer certificates.
Mistakes when checking expiry
- Checking the wrong certificate. A server sends the leaf first, then intermediates. An intermediate can expire years after the leaf, so check each one.
- Trusting the device clock. If the clock is wrong, so are the days. Set a check date when in doubt.
- Pasting only part of the block. A missing line makes the base64 invalid and the tool reports an error instead of a guess.
- Forgetting the load balancer. The file on disk can be new while the device still serves the old certificate. Check what the server presents.
If you only have a binary .cer file, convert it with the certificate converter first. For a pending request, decode it with the CSR decoder.
Worked examples
| Example | Input | Result |
|---|---|---|
| Server certificate checked on 2025-06-01 | PEM certificate: -----BEGIN CERTIFICATE----- / MIID8TCCAtmgAwIBAgIQGis8TV5vcIGSo7TF1uf4ATANBgkqhkiG9w0BAQsFADA/ / MQswCQYDVQQGEwJVUzEWMBQGA1UECgwNRXhhbXBsZSBUcnVzdDEYMBYGA1UEAwwP / RXhhbXBsZSBSb290IENBMB4XDTI1MDMwMTEyMzA0NVoXDTI2MDMwMTEyMzA0NVow / ajELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDVNh / biBGcmFuY2lzY28xFDASBgNVBAoMC0V4YW1wbGUgSW5jMRgwFgYDVQQDDA93d3cu / ZXhhbXBsZS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDFH/tm / qsN4xqZm12CA8GGsvbaRYKD1MFy1TTQ/CIk1BQBjKTUCJ5BhFKIwNw7AqY16C6pO / f24quxXMOeI1tWpnT3/25V/bRqfiKPWHyV+JUli61wrsdqo+iVR2NC7uJ0vwnDwz / fFC+lvIgvGaXGOuU9tx0xmleYbzk5tvGFVdG51EdfHW6Wxnu7U8q/5lzS9aYVjrM / rugWTms9Qsl0uY+k5a7cD+SEC9gJnztqwnt+yDiHZ5++CCZ4IKxpU2j4ghzQQyOL / QhI4wr4dgphWzJBtjU/9g/t0ezCL59PcQtNlwsQKv0Rq58JxoCtecLaunslPy2si / 2kUZOaog6SNlTRIDAgMBAAGjgb0wgbowewYDVR0RBHQwcoIPd3d3LmV4YW1wbGUu / Y29tggtleGFtcGxlLmNvbYIRKi5hcGkuZXhhbXBsZS5jb22HBMAAAgqHECABDbgA / AAAAAAAAAAAAAAGBEWFkbWluQGV4YW1wbGUuY29thhRodHRwczovL2V4YW1wbGUu / Y29tLzAOBgNVHQ8BAf8EBAMCBaAwDAYDVR0TAQH/BAIwADAdBgNVHSUEFjAUBggr / BgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBABerl9xqj/SXOdwZ / /4uhhokv7LKuk9HVMCm1o2QvFNCyWZo21Ljy+XD5tFlUKogjUmFykrjk79zwsFyz / EOhXt6C3D6EXkbi44hUtOPD6pE6P/a/vZC4M/UY3iTEz844XcXAAkLRMSlbZ7BxW / ZxT0PRYplqhPDT4v5TjcZO4VGzn2VpVb/8pRM9//TU++qM3U3uoXnD8qH/J315Sv / Fb2RWcglO2Tjz8qnP5b84QL11GEcFd5Hw0ELp4BKpkvHULO/+j0tQGQDjuZerOgZ / azxpbZxmZqhi4ITRSH3aoFljZ8iGqWhdEPPMroH/TJeat32AHtfodQo2QvzYIQS4 / wLROO3g= / -----END CERTIFICATE-----; Check date (UTC, optional): 2025-06-01 | Status: Valid; Days until expiry: 273; Not after: 2026-03-01 12:30:45 UTC; Not before: 2025-03-01 12:30:45 UTC; Subject: C=US, ST=California, L=San Francisco, O=Example Inc, CN=www.example.com; Subject Alternative Names: DNS:www.example.com, DNS:example.com, DNS:*.api.example.com, IP Address:192.0.2.10, IP Address:2001:DB8:0:0:0:0:0:1, email:admin@example.com, URI:https://example.com/; Public key: RSA, 2048 bits (exponent 65537); Signature algorithm: sha256WithRSAEncryption; Self-signed: No; Warnings: None |
| Same certificate two weeks before expiry | PEM certificate: -----BEGIN CERTIFICATE----- / MIID8TCCAtmgAwIBAgIQGis8TV5vcIGSo7TF1uf4ATANBgkqhkiG9w0BAQsFADA/ / MQswCQYDVQQGEwJVUzEWMBQGA1UECgwNRXhhbXBsZSBUcnVzdDEYMBYGA1UEAwwP / RXhhbXBsZSBSb290IENBMB4XDTI1MDMwMTEyMzA0NVoXDTI2MDMwMTEyMzA0NVow / ajELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDVNh / biBGcmFuY2lzY28xFDASBgNVBAoMC0V4YW1wbGUgSW5jMRgwFgYDVQQDDA93d3cu / ZXhhbXBsZS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDFH/tm / qsN4xqZm12CA8GGsvbaRYKD1MFy1TTQ/CIk1BQBjKTUCJ5BhFKIwNw7AqY16C6pO / f24quxXMOeI1tWpnT3/25V/bRqfiKPWHyV+JUli61wrsdqo+iVR2NC7uJ0vwnDwz / fFC+lvIgvGaXGOuU9tx0xmleYbzk5tvGFVdG51EdfHW6Wxnu7U8q/5lzS9aYVjrM / rugWTms9Qsl0uY+k5a7cD+SEC9gJnztqwnt+yDiHZ5++CCZ4IKxpU2j4ghzQQyOL / QhI4wr4dgphWzJBtjU/9g/t0ezCL59PcQtNlwsQKv0Rq58JxoCtecLaunslPy2si / 2kUZOaog6SNlTRIDAgMBAAGjgb0wgbowewYDVR0RBHQwcoIPd3d3LmV4YW1wbGUu / Y29tggtleGFtcGxlLmNvbYIRKi5hcGkuZXhhbXBsZS5jb22HBMAAAgqHECABDbgA / AAAAAAAAAAAAAAGBEWFkbWluQGV4YW1wbGUuY29thhRodHRwczovL2V4YW1wbGUu / Y29tLzAOBgNVHQ8BAf8EBAMCBaAwDAYDVR0TAQH/BAIwADAdBgNVHSUEFjAUBggr / BgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBABerl9xqj/SXOdwZ / /4uhhokv7LKuk9HVMCm1o2QvFNCyWZo21Ljy+XD5tFlUKogjUmFykrjk79zwsFyz / EOhXt6C3D6EXkbi44hUtOPD6pE6P/a/vZC4M/UY3iTEz844XcXAAkLRMSlbZ7BxW / ZxT0PRYplqhPDT4v5TjcZO4VGzn2VpVb/8pRM9//TU++qM3U3uoXnD8qH/J315Sv / Fb2RWcglO2Tjz8qnP5b84QL11GEcFd5Hw0ELp4BKpkvHULO/+j0tQGQDjuZerOgZ / azxpbZxmZqhi4ITRSH3aoFljZ8iGqWhdEPPMroH/TJeat32AHtfodQo2QvzYIQS4 / wLROO3g= / -----END CERTIFICATE-----; Check date (UTC, optional): 2026-02-15 | Status: Valid, expires within 30 days; Days until expiry: 14; Not after: 2026-03-01 12:30:45 UTC; Not before: 2025-03-01 12:30:45 UTC; Subject: C=US, ST=California, L=San Francisco, O=Example Inc, CN=www.example.com; Subject Alternative Names: DNS:www.example.com, DNS:example.com, DNS:*.api.example.com, IP Address:192.0.2.10, IP Address:2001:DB8:0:0:0:0:0:1, email:admin@example.com, URI:https://example.com/; Public key: RSA, 2048 bits (exponent 65537); Signature algorithm: sha256WithRSAEncryption; Self-signed: No; Warnings: None |
| Same certificate after expiry | PEM certificate: -----BEGIN CERTIFICATE----- / MIID8TCCAtmgAwIBAgIQGis8TV5vcIGSo7TF1uf4ATANBgkqhkiG9w0BAQsFADA/ / MQswCQYDVQQGEwJVUzEWMBQGA1UECgwNRXhhbXBsZSBUcnVzdDEYMBYGA1UEAwwP / RXhhbXBsZSBSb290IENBMB4XDTI1MDMwMTEyMzA0NVoXDTI2MDMwMTEyMzA0NVow / ajELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDVNh / biBGcmFuY2lzY28xFDASBgNVBAoMC0V4YW1wbGUgSW5jMRgwFgYDVQQDDA93d3cu / ZXhhbXBsZS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDFH/tm / qsN4xqZm12CA8GGsvbaRYKD1MFy1TTQ/CIk1BQBjKTUCJ5BhFKIwNw7AqY16C6pO / f24quxXMOeI1tWpnT3/25V/bRqfiKPWHyV+JUli61wrsdqo+iVR2NC7uJ0vwnDwz / fFC+lvIgvGaXGOuU9tx0xmleYbzk5tvGFVdG51EdfHW6Wxnu7U8q/5lzS9aYVjrM / rugWTms9Qsl0uY+k5a7cD+SEC9gJnztqwnt+yDiHZ5++CCZ4IKxpU2j4ghzQQyOL / QhI4wr4dgphWzJBtjU/9g/t0ezCL59PcQtNlwsQKv0Rq58JxoCtecLaunslPy2si / 2kUZOaog6SNlTRIDAgMBAAGjgb0wgbowewYDVR0RBHQwcoIPd3d3LmV4YW1wbGUu / Y29tggtleGFtcGxlLmNvbYIRKi5hcGkuZXhhbXBsZS5jb22HBMAAAgqHECABDbgA / AAAAAAAAAAAAAAGBEWFkbWluQGV4YW1wbGUuY29thhRodHRwczovL2V4YW1wbGUu / Y29tLzAOBgNVHQ8BAf8EBAMCBaAwDAYDVR0TAQH/BAIwADAdBgNVHSUEFjAUBggr / BgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBABerl9xqj/SXOdwZ / /4uhhokv7LKuk9HVMCm1o2QvFNCyWZo21Ljy+XD5tFlUKogjUmFykrjk79zwsFyz / EOhXt6C3D6EXkbi44hUtOPD6pE6P/a/vZC4M/UY3iTEz844XcXAAkLRMSlbZ7BxW / ZxT0PRYplqhPDT4v5TjcZO4VGzn2VpVb/8pRM9//TU++qM3U3uoXnD8qH/J315Sv / Fb2RWcglO2Tjz8qnP5b84QL11GEcFd5Hw0ELp4BKpkvHULO/+j0tQGQDjuZerOgZ / azxpbZxmZqhi4ITRSH3aoFljZ8iGqWhdEPPMroH/TJeat32AHtfodQo2QvzYIQS4 / wLROO3g= / -----END CERTIFICATE-----; Check date (UTC, optional): 2026-03-10 | Status: Expired; Days until expiry: -8; Not after: 2026-03-01 12:30:45 UTC; Not before: 2025-03-01 12:30:45 UTC; Subject: C=US, ST=California, L=San Francisco, O=Example Inc, CN=www.example.com; Subject Alternative Names: DNS:www.example.com, DNS:example.com, DNS:*.api.example.com, IP Address:192.0.2.10, IP Address:2001:DB8:0:0:0:0:0:1, email:admin@example.com, URI:https://example.com/; Public key: RSA, 2048 bits (exponent 65537); Signature algorithm: sha256WithRSAEncryption; Self-signed: No; Warnings: None |
| Old SHA-1 certificate with a 1024-bit key | PEM certificate: -----BEGIN CERTIFICATE----- / MIIB8TCCAVqgAwIBAgICAP8wDQYJKoZIhvcNAQEFBQAwHTEbMBkGA1UEAwwSbGVn / YWN5LmV4YW1wbGUuY29tMB4XDTE0MDEwMTAwMDAwMFoXDTE2MDEwMTAwMDAwMFow / HTEbMBkGA1UEAwwSbGVnYWN5LmV4YW1wbGUuY29tMIGfMA0GCSqGSIb3DQEBAQUA / A4GNADCBiQKBgQCoiQ9AiZYxg/lZ8FmwkEMdfav+7XE97hFx0xnFfrbhDvuXAht3 / T6B28ntBvkJu3U14lxRQcSuC5RJicqWR37nObMIqMQzieHK4TuKqKwiSsostNCyW / 63AClvM5RC3bmGx5uAqDJjL/0grOGe+jKgnMESCKban0CtnWlMIDn83cDQIDAQAB / o0AwPjAdBgNVHREEFjAUghJsZWdhY3kuZXhhbXBsZS5jb20wHQYDVR0OBBYEFIQn / oATjh5x73Ld7V94CzUeJDUokMA0GCSqGSIb3DQEBBQUAA4GBAE835nYWcX9xWvp2 / CjO7PCx7arLIdNqqXhQsn6lRtrQnN+V8j9hwL2grmIEXcaYPNxY9gPW+YCKkQUvT / TQiDbtRyIbbwj+VQ3wxQxEh7mmzs7CwLJKfcc5PRqkGAmH5Z+4Vz8a9aKhE4qXOR / j3qt/UnVppGJXpwxrVjvc0AEwLpG / -----END CERTIFICATE-----; Check date (UTC, optional): 2015-06-01 | Status: Valid; Days until expiry: 214; Not after: 2016-01-01 00:00:00 UTC; Not before: 2014-01-01 00:00:00 UTC; Subject: CN=legacy.example.com; Subject Alternative Names: DNS:legacy.example.com; Public key: RSA, 1024 bits (exponent 65537); Signature algorithm: sha1WithRSAEncryption; Self-signed: Yes (issuer equals subject); Warnings: Weak signature algorithm (sha1WithRSAEncryption); RSA key below 2048 bits |
| CA certificate valid until 2051 | PEM certificate: -----BEGIN CERTIFICATE----- / MIIBojCCAUigAwIBAgICAP8wCgYIKoZIzj0EAwIwNDESMBAGA1UECgwJRWRnZSBM / YWJzMR4wHAYDVQQDDBVlZGdlLXJvb3QuZXhhbXBsZS5uZXQwIBcNMjUwMTAxMDAw / MDAwWhgPMjA1MTA2MTUwODAwMDBaMDQxEjAQBgNVBAoMCUVkZ2UgTGFiczEeMBwG / A1UEAwwVZWRnZS1yb290LmV4YW1wbGUubmV0MFkwEwYHKoZIzj0CAQYIKoZIzj0D / AQcDQgAENYdORnX164l1DzJw6jpNVWwYZ8z2VCPAjAHhSml5sUdTTxrDzOfMQKvM / VF2XHhExBxY8TlHLBV4Fyq0ZQLXHtaNIMEYwEgYDVR0TAQH/BAgwBgEB/wIBADAO / BgNVHQ8BAf8EBAMCAQYwIAYDVR0RBBkwF4IVZWRnZS1yb290LmV4YW1wbGUubmV0 / MAoGCCqGSM49BAMCA0gAMEUCIEqDZUCRpe3Z8/fDjdx3/bwf5fsw7zWdLvRPXvMj / 9cSvAiEAnunad1SaNQFOuvbfcAyJqIvUL1LmNPpbQ3DXCZuc28c= / -----END CERTIFICATE-----; Check date (UTC, optional): 2030-01-01 | Status: Valid; Days until expiry: 7835; Not after: 2051-06-15 08:00:00 UTC; Not before: 2025-01-01 00:00:00 UTC; Subject: O=Edge Labs, CN=edge-root.example.net; Subject Alternative Names: DNS:edge-root.example.net; Public key: EC, prime256v1 (P-256), 256 bits; Signature algorithm: ecdsa-with-SHA256; Self-signed: Yes (issuer equals subject); Warnings: None |
FAQ
What does the ssl certificate expiry checker report?
It reports the expiry date, whole days remaining, a status, the subject, SANs, key type and size, signature algorithm and warnings for weak signatures or keys.
Does it contact the website?
No. It reads only the PEM text you paste, so it cannot fetch a live certificate. Use the OpenSSL command in the steps to export one.
What is the check date for?
It lets you ask what the status will be on a given UTC day, or reproduce a past date. If you leave it empty the current time on your device is used.
Why is SHA-1 flagged?
SHA-1 collisions are practical, so browsers and public CAs abandoned it for TLS certificates in 2016. Reissue the certificate with SHA-256 or stronger.
Can I paste a whole chain?
The first certificate in the text is checked. Paste intermediates one at a time to check each of them.
Why can the days differ from another tool by one?
Tools round differently. This one counts whole 24-hour periods from the check time to Not after, in UTC, and rounds down.