Xerobit

SSL Certificate Decoder for PEM X.509 Certificates

Paste a PEM certificate into this ssl certificate decoder to read its subject, issuer, serial number, validity dates, Subject Alternative Names, key size and SHA-256 and SHA-1 fingerprints. It runs in your browser and uploads nothing.

Include the BEGIN and END lines. Everything stays in your browser.

Decoded 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

How to use the ssl certificate decoder

  1. Copy the certificate including the -----BEGIN CERTIFICATE----- and -----END CERTIFICATE----- lines. Files ending in .pem, .crt or .cer are usually in this format.
  2. Paste it into the box. If you paste a chain, the first certificate in it is decoded.
  3. Read the rows: subject, issuer, validity window, Subject Alternative Names, key size and signature algorithm.
  4. 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.

FieldWhat it tells you
SubjectThe entity the certificate was issued to, such as CN=www.example.com
IssuerThe CA that signed it. For a self-signed certificate it equals the subject
Serial numberUnique per issuer, shown in hex without leading zeros
Not before / Not afterThe validity window, always in UTC
Subject Alternative NamesThe hostnames, IP addresses, emails and URIs the certificate is valid for
Key usageWhat the key may do, for example Digital Signature or Certificate Sign
Basic constraintsCA: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.

KeyTypical status
RSA 1024Too weak, rejected by public CAs
RSA 2048Common minimum for web certificates
RSA 3072 or 4096Larger and slower, used for roots and long-lived keys
EC P-256Roughly the strength of RSA 3072 with a much smaller key
EC P-384Higher 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

ExampleInputResult
RSA 2048 certificate with SANsPEM 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 certificatePEM 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-signedPEM 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 certificatePEM 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 certificatePEM 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.