How to use the ssl certificate decoder
- Copy the certificate including the
-----BEGIN CERTIFICATE-----and-----END CERTIFICATE-----lines. Files ending in .pem, .crt or .cer are usually in this format. - Paste it into the box. If you paste a chain, the first certificate in it is decoded.
- Read the rows: subject, issuer, validity window, Subject Alternative Names, key size and signature algorithm.
- Compare the SHA-256 fingerprint with the value from your certificate authority or from
openssl x509 -noout -fingerprint -sha256.
What each decoded field means
An X.509 certificate is a signed record that binds a public key to a name. The decoder lists the parts that matter when you debug a TLS problem.
| Field | What it tells you |
|---|---|
| Subject | The entity the certificate was issued to, such as CN=www.example.com |
| Issuer | The CA that signed it. For a self-signed certificate it equals the subject |
| Serial number | Unique per issuer, shown in hex without leading zeros |
| Not before / Not after | The validity window, always in UTC |
| Subject Alternative Names | The hostnames, IP addresses, emails and URIs the certificate is valid for |
| Key usage | What the key may do, for example Digital Signature or Certificate Sign |
| Basic constraints | CA:TRUE marks a CA certificate, with an optional path length limit |
Worked example: an RSA 2048 server certificate
The default example is a server certificate for www.example.com signed by a made-up root CA. The decoder shows seven Subject Alternative Names: three DNS names (one a wildcard), an IPv4 address, an IPv6 address, an email address and a URI. It reports sha256WithRSAEncryption, a 2048-bit RSA key with exponent 65537, key usage Digital Signature and Key Encipherment, and CA:FALSE.
Its SHA-256 fingerprint is DC:D7:73:CA:22:75:C4:CA:BE:36:C4:61:B1:EF:35:BB:CD:0A:57:05:97:5B:39:B5:EC:35:0B:36:13:47:13:A8. If you run openssl x509 -in cert.pem -noout -fingerprint -sha256 on the same file you get the same 32 bytes, because the fingerprint is the hash of the DER bytes, not of the PEM text.
How the PEM text becomes fields
PEM is base64 text wrapped in BEGIN and END lines. Decoding the base64 gives DER, a binary format built from tag, length and value triples. This certificate decodes to 1013 bytes and starts with 30 82 03 f1: tag 30 is a SEQUENCE, and 82 03 f1 means the length takes two bytes and equals 0x03f1, or 1009 bytes of content.
Inside that sequence sit the signed part (TBSCertificate), the signature algorithm and the signature. The decoder walks the signed part in order: version, serial, signature algorithm, issuer, validity, subject, public key and extensions. Times before 2050 are stored as UTCTime with a two-digit year, later ones as GeneralizedTime, and both are shown here as full dates.
Key sizes and signature algorithms
Two rows deserve attention on any certificate you did not issue yourself: the public key size and the signature algorithm.
| Key | Typical status |
|---|---|
| RSA 1024 | Too weak, rejected by public CAs |
| RSA 2048 | Common minimum for web certificates |
| RSA 3072 or 4096 | Larger and slower, used for roots and long-lived keys |
| EC P-256 | Roughly the strength of RSA 3072 with a much smaller key |
| EC P-384 | Higher security level, common in CA hierarchies |
A signature algorithm starting with md5 or sha1 is obsolete. Browsers stopped trusting SHA-1 TLS certificates and public CAs stopped issuing them in 2016. SHA-256 or stronger, or Ed25519, is expected today.
Common mistakes when reading a certificate
- Looking at the Common Name for hostnames. Browsers match the hostname against the Subject Alternative Names. A certificate with only a CN is rejected by current clients.
- Decoding the wrong certificate in a chain. The first certificate a server sends is the leaf. The ones after it are intermediates, which show
CA:TRUE. - Comparing fingerprints of different hashes. A SHA-1 value never equals a SHA-256 value for the same file. Compare like with like, and ignore the colons and letter case.
- Pasting a DER file. Binary .cer or .der files are not text. Convert them first with the certificate converter.
- Pasting a CSR. A request has no validity dates or issuer. Use the CSR decoder for that, and the expiry checker to see days remaining.
Worked examples
| Example | Input | Result |
|---|---|---|
| RSA 2048 certificate with SANs | 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----- | Subject: C=US, ST=California, L=San Francisco, O=Example Inc, CN=www.example.com; Issuer: C=US, O=Example Trust, CN=Example Root CA; Serial number: 1A2B3C4D5E6F708192A3B4C5D6E7F801; Not before: 2025-03-01 12:30:45 UTC; Not after: 2026-03-01 12:30:45 UTC; 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/; Signature algorithm: sha256WithRSAEncryption; Public key algorithm: RSA; Public key size: 2048 bits (exponent 65537); Key usage: Digital Signature, Key Encipherment; Extended key usage: TLS Web Server Authentication, TLS Web Client Authentication; Basic constraints: CA:FALSE; Version: v3; SHA-256 fingerprint: DC:D7:73:CA:22:75:C4:CA:BE:36:C4:61:B1:EF:35:BB:CD:0A:57:05:97:5B:39:B5:EC:35:0B:36:13:47:13:A8; SHA-1 fingerprint: 8A:2E:B9:62:47:96:AE:D4:23:4E:83:12:29:B6:C9:7E:44:22:95:AC |
| EC P-256 CA certificate | PEM certificate: -----BEGIN CERTIFICATE----- / MIIBojCCAUigAwIBAgICAP8wCgYIKoZIzj0EAwIwNDESMBAGA1UECgwJRWRnZSBM / YWJzMR4wHAYDVQQDDBVlZGdlLXJvb3QuZXhhbXBsZS5uZXQwIBcNMjUwMTAxMDAw / MDAwWhgPMjA1MTA2MTUwODAwMDBaMDQxEjAQBgNVBAoMCUVkZ2UgTGFiczEeMBwG / A1UEAwwVZWRnZS1yb290LmV4YW1wbGUubmV0MFkwEwYHKoZIzj0CAQYIKoZIzj0D / AQcDQgAENYdORnX164l1DzJw6jpNVWwYZ8z2VCPAjAHhSml5sUdTTxrDzOfMQKvM / VF2XHhExBxY8TlHLBV4Fyq0ZQLXHtaNIMEYwEgYDVR0TAQH/BAgwBgEB/wIBADAO / BgNVHQ8BAf8EBAMCAQYwIAYDVR0RBBkwF4IVZWRnZS1yb290LmV4YW1wbGUubmV0 / MAoGCCqGSM49BAMCA0gAMEUCIEqDZUCRpe3Z8/fDjdx3/bwf5fsw7zWdLvRPXvMj / 9cSvAiEAnunad1SaNQFOuvbfcAyJqIvUL1LmNPpbQ3DXCZuc28c= / -----END CERTIFICATE----- | Subject: O=Edge Labs, CN=edge-root.example.net; Issuer: O=Edge Labs, CN=edge-root.example.net; Serial number: FF; Not before: 2025-01-01 00:00:00 UTC; Not after: 2051-06-15 08:00:00 UTC; Subject Alternative Names: DNS:edge-root.example.net; Signature algorithm: ecdsa-with-SHA256; Public key algorithm: EC; Public key size: prime256v1 (P-256), 256 bits; Key usage: Certificate Sign, CRL Sign; Extended key usage: None; Basic constraints: CA:TRUE, pathlen:0; Version: v3; SHA-256 fingerprint: 65:8C:26:4B:6E:37:06:7B:D1:8E:BF:34:EC:82:2B:26:00:73:08:C8:50:BA:E4:7A:1D:7C:0D:B4:C1:24:C9:C3; SHA-1 fingerprint: 8F:C0:98:90:98:3E:74:EF:4B:6D:E2:EB:70:56:10:41:C0:E9:C4:BB |
| EC P-384 self-signed | PEM certificate: -----BEGIN CERTIFICATE----- / MIIBYDCB5qADAgECAgEHMAoGCCqGSM49BAMDMBsxGTAXBgNVBAMMEHAzODQuZXhh / bXBsZS5vcmcwHhcNMjUwNjAxMDAwMDAwWhcNMjUwOTAxMDAwMDAwWjAbMRkwFwYD / VQQDDBBwMzg0LmV4YW1wbGUub3JnMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE67n2 / 9N8LmzXOn/unPufIBDXBNXz8pUaNG/hM0lfjktPCPVUI6bxhn5ytACuOtCdfEOs2 / oh0iuAbCNth7smVMA8kDDsugmPc6Uax55xZxufK4nalcPwDjX6fKInZLnqgfMAoG / CCqGSM49BAMDA2kAMGYCMQCFbwCzcsgSqlIrbQi5aVWK6EpZAEVPk1tCS0LxB6i/ / eV12QrBSgvpaiZ1AZC6GNhUCMQCWfA5f9tdKGMy0IozQDxlpIWVPcT3YAtERu4Cl / jcSEJCAiWRyOJdKUVnWpSnXESTY= / -----END CERTIFICATE----- | Subject: CN=p384.example.org; Issuer: CN=p384.example.org; Serial number: 07; Not before: 2025-06-01 00:00:00 UTC; Not after: 2025-09-01 00:00:00 UTC; Subject Alternative Names: None; Signature algorithm: ecdsa-with-SHA384; Public key algorithm: EC; Public key size: secp384r1 (P-384), 384 bits; Key usage: None; Extended key usage: None; Basic constraints: None; Version: v3; SHA-256 fingerprint: 52:60:2B:80:79:97:6C:3B:D7:7D:63:6B:B3:77:22:9A:79:E5:96:05:AB:DF:96:BB:14:EB:BF:96:EF:11:CD:03; SHA-1 fingerprint: 34:98:9E:19:EB:39:45:E5:DA:B8:BC:AF:9C:DD:C0:2B:D4:E2:98:F7 |
| Ed25519 certificate | PEM certificate: -----BEGIN CERTIFICATE----- / MIHmMIGZoAMCAQICCQCrVKmM6x8K0jAFBgMrZXAwGTEXMBUGA1UEAwwOZWQuZXhh / bXBsZS5jb20wHhcNMjUwMjAzMDQwNTA2WhcNMjcwMjAzMDQwNTA2WjAZMRcwFQYD / VQQDDA5lZC5leGFtcGxlLmNvbTAqMAUGAytlcAMhADUGuYR9zu911dByesmKi6IH / 5LEgahNCPGw90pKurVLMMAUGAytlcANBAEBSeFxJhyfmLQ62kIvmowUzQ+IW1dyx / I6QfaKJ8yBVWEFp+FyPxwGZGmh0Hb88+K/ZtexNeXIOYajSSy7EQNgw= / -----END CERTIFICATE----- | Subject: CN=ed.example.com; Issuer: CN=ed.example.com; Serial number: AB54A98CEB1F0AD2; Not before: 2025-02-03 04:05:06 UTC; Not after: 2027-02-03 04:05:06 UTC; Subject Alternative Names: None; Signature algorithm: ED25519; Public key algorithm: Ed25519; Public key size: 256 bits; Key usage: None; Extended key usage: None; Basic constraints: None; Version: v3; SHA-256 fingerprint: 25:0C:46:D9:DD:9A:9C:77:B5:82:06:6E:60:B9:77:49:7E:D1:11:77:CC:77:CF:07:92:4A:7E:F1:6D:33:4E:95; SHA-1 fingerprint: 81:95:6E:55:2D:51:07:89:D5:C9:D2:F5:1A:FF:00:00:4D:3C:FA:19 |
| Old SHA-1 certificate | 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----- | Subject: CN=legacy.example.com; Issuer: CN=legacy.example.com; Serial number: FF; Not before: 2014-01-01 00:00:00 UTC; Not after: 2016-01-01 00:00:00 UTC; Subject Alternative Names: DNS:legacy.example.com; Signature algorithm: sha1WithRSAEncryption; Public key algorithm: RSA; Public key size: 1024 bits (exponent 65537); Key usage: None; Extended key usage: None; Basic constraints: None; Version: v3; SHA-256 fingerprint: E7:66:66:1A:81:D4:56:9B:B9:33:34:EC:3C:41:9A:00:A8:79:12:8F:7E:F3:89:FE:96:EB:05:AF:16:2A:20:55; SHA-1 fingerprint: BE:20:D1:BF:53:59:42:3A:A0:74:FA:2F:88:B8:B9:A9:93:A9:78:7F |
FAQ
What does an ssl certificate decoder show?
It translates the binary X.509 structure into readable fields: who the certificate was issued to and by, the validity dates, the hostnames it covers, the public key type and size, the signature algorithm and the fingerprints.
Is my certificate uploaded anywhere?
No. The base64 decoding, ASN.1 parsing and hashing all run as JavaScript in your browser, and nothing is sent over the network. A certificate holds only public information, but you stay in control of it either way.
Why are there two fingerprints?
SHA-256 is the one to use. SHA-1 is shown because older tools and some device screens still display it. Both are hashes of the same DER bytes.
Can I decode a DER or .cer file?
Not directly, because the box expects PEM text. Convert the binary file to PEM or base64 with the certificate converter, or run openssl x509 -inform der -in cert.cer -out cert.pem.
What are Subject Alternative Names?
They are the list of DNS names, IP addresses, emails and URIs the certificate is valid for. Clients check the name they connect to against this list.
How do I see when a certificate expires?
Read the Not after row. For the number of days left and a status, use the SSL certificate expiry checker.