DevToolsmith

SSL Certificate Decoder

Paste a PEM certificate or a whole chain to see who it was issued to, which hostnames it covers, when it expires and how it was signed. Each certificate in a chain is checked against its issuer’s signature, all in your browser.

Runs 100% in your browser — nothing is uploaded

PEM certificate, chain or CSR
Tip: drop a file here2,298 chars · 2,298 bytes · 39 lines

2 certificates. Each one is matched to its issuer in the list, and its signature is checked with the issuer’s public key.

#1

www.example.com

End-entity (leaf)Valid
  • Valid for 397 days. Publicly trusted TLS certificates issued on this date may last at most 200 days, so browsers would reject it if it came from a public CA.
Subject
C=DE, ST=Berlin, L=Berlin, O=Example GmbH, OU=Web, CN=www.example.com, emailAddress=admin@example.com
Issuer
C=US, O=DevToolsmith Test, CN=DevToolsmith Test Root CA
Alternative names (7)
www.example.com, example.com, *.example.com, IP:192.0.2.10, IP:2001:db8::1, email:admin@example.com, URI:https://example.com/
Valid from
2026-10-22 06:54:08 UTC
Valid until
2027-11-23 06:54:08 UTC (392 days left)
Serial number
01:23:45:67:89:AB:CD:EF:01
Public key
RSA, 2048 bit, e=65537
Signature algorithm
ecdsa-with-SHA256
Key usage
Digital Signature, Key Encipherment
Extended key usage
TLS Web Server Authentication, TLS Web Client Authentication
Basic constraints
CA: no
Policies
2.23.140.1.2.2 (Organization Validated (OV))
OCSP
http://ocsp.example.test
CA issuers
http://ca.example.test/root.crt
CRL
http://crl.example.test/root.crl
Subject key ID
7D:19:CC:BA:2C:B6:EB:19:3B:72:D3:FD:03:A5:E5:93:8C:10:FB:51
Authority key ID
B4:E1:5D:46:15:AB:0C:42:3E:0C:D6:39:4D:41:75:6F:20:0F:23:8B
All extensions (9)
Subject Alternative Name2.5.29.17
DNS:www.example.com
DNS:example.com
DNS:*.example.com
IP:192.0.2.10
IP:2001:db8::1
email:admin@example.com
URI:https://example.com/
Basic Constraints2.5.29.19critical
CA:FALSE
Key Usage2.5.29.15critical
Digital Signature, Key Encipherment
Extended Key Usage2.5.29.37
TLS Web Server Authentication, TLS Web Client Authentication
Subject Key Identifier2.5.29.14
7D:19:CC:BA:2C:B6:EB:19:3B:72:D3:FD:03:A5:E5:93:8C:10:FB:51
Authority Key Identifier2.5.29.35
B4:E1:5D:46:15:AB:0C:42:3E:0C:D6:39:4D:41:75:6F:20:0F:23:8B
Certificate Policies2.5.29.32
Policy: 2.23.140.1.2.2 (Organization Validated (OV))
CRL Distribution Points2.5.29.31
URI:http://crl.example.test/root.crl
Authority Information Access1.3.6.1.5.5.7.1.1
OCSP - URI:http://ocsp.example.test
CA Issuers - URI:http://ca.example.test/root.crt
#2

DevToolsmith Test Root CA

Root CAValid
Subject
C=US, O=DevToolsmith Test, CN=DevToolsmith Test Root CA
Issuer
C=US, O=DevToolsmith Test, CN=DevToolsmith Test Root CA
Valid from
2026-10-22 06:54:08 UTC
Valid until
2036-10-19 06:54:08 UTC (3645 days left)
Serial number
3F:61:A9:52:0D:D8:AD:00:A5:60:5E:5E:52:8B:CC:B8:3F:AE:2F:1F
Public key
EC, 256 bit, P-256 (prime256v1)
Signature algorithm
ecdsa-with-SHA256
Key usage
Certificate Sign, CRL Sign
Basic constraints
CA: yes, path length 0
Subject key ID
B4:E1:5D:46:15:AB:0C:42:3E:0C:D6:39:4D:41:75:6F:20:0F:23:8B
Authority key ID
B4:E1:5D:46:15:AB:0C:42:3E:0C:D6:39:4D:41:75:6F:20:0F:23:8B
All extensions (4)
Subject Key Identifier2.5.29.14
B4:E1:5D:46:15:AB:0C:42:3E:0C:D6:39:4D:41:75:6F:20:0F:23:8B
Authority Key Identifier2.5.29.35
B4:E1:5D:46:15:AB:0C:42:3E:0C:D6:39:4D:41:75:6F:20:0F:23:8B
Basic Constraints2.5.29.19critical
CA:TRUE, pathlen:0
Key Usage2.5.29.15critical
Certificate Sign, CRL Sign

What the fields mean

FieldWhat to check
Subject alternative namesEvery hostname clients use must be listed. This is what browsers match, not the Common Name.
Valid untilPublic TLS certificates issued since March 15, 2026 last at most 200 days. The limit drops to 100 days in March 2027 and 47 days in March 2029 (CA/Browser Forum ballot SC-081), so automate renewal.
IssuerThe CA that signed it. If the issuer isn’t a root your clients trust, the server must also send the intermediate.
Public keyRSA 2048 bits or more, or ECDSA P-256 / P-384. ECDSA keys are smaller and faster for the same security.
Key usage / Extended key usageA TLS server certificate needs “TLS Web Server Authentication”. Client certificates for mTLS need “TLS Web Client Authentication”.
Basic constraintsCA: yes only for root and intermediate CAs. A leaf certificate marked as a CA is a serious misissuance.
Policies2.23.140.1.2.1 means domain validated (DV), .2.2 organization validated (OV), and 2.23.140.1.1 extended validation (EV).
CT log entriesPublicly trusted certificates must carry signed certificate timestamps (SCTs) from Certificate Transparency logs, or Chrome and Safari reject them.

Doing the same with OpenSSL

Shell
# Decode a certificate file
openssl x509 -in cert.pem -noout -text

# Just the essentials
openssl x509 -in cert.pem -noout -subject -issuer -dates -ext subjectAltName

# Fingerprint
openssl x509 -in cert.pem -noout -fingerprint -sha256

# Fetch and decode a live server's certificate
openssl s_client -connect example.com:443 -servername example.com </dev/null 2>/dev/null \
  | openssl x509 -noout -text

# Verify a chain (leaf + intermediates) against the system trust store
openssl verify -untrusted intermediates.pem cert.pem

# Convert DER (.cer/.der) to PEM
openssl x509 -inform der -in cert.cer -out cert.pem

Planning a new certificate? Check your signing request first with the CSR decoder. The input accepts PEM blocks, Base64 without the BEGIN/END lines, and PEM pasted from JSON with escaped \n line breaks.

Frequently asked questions

Is it safe to paste a certificate here?

Yes. Certificates are public: every HTTPS server sends its certificate to anyone who connects. Decoding happens entirely in your browser, and nothing is uploaded. Never paste a private key into any website. If you paste one by mistake, this tool skips it without decoding it.

How do I get a website’s certificate?

Run openssl s_client -connect example.com:443 -servername example.com -showcerts < /dev/null and copy the BEGIN/END CERTIFICATE blocks; -showcerts includes the intermediates. In a browser, click the padlock, open the certificate viewer and export it as PEM (Base64). Files ending in .crt, .cer or .pem can be uploaded or dropped on the input.

How do I check a certificate chain?

Paste the leaf certificate followed by its intermediates, as your server sends them (or the contents of fullchain.pem). Each certificate is matched to its issuer by name and key ID, and the signature is verified with the issuer’s public key. A missing intermediate is the most common cause of “unable to get local issuer certificate” errors on clients.

Why does the browser ignore the Common Name?

Since 2017, Chrome, Firefox and Safari only check the Subject Alternative Name (SAN) extension when matching a hostname. A certificate with CN=example.com but no SAN fails with NET::ERR_CERT_COMMON_NAME_INVALID. Every name the certificate should cover, including the bare domain and www, must be listed as a DNS SAN. A wildcard like *.example.com covers one level only: api.example.com, but not example.com or a.b.example.com.

What are the SHA-256 fingerprint and public key pin?

The fingerprint is the hash of the whole certificate and identifies it exactly; compare it to confirm two files hold the same certificate. The public key pin is the Base64 SHA-256 hash of the public key only (the SubjectPublicKeyInfo). It stays the same when a certificate is renewed with the same key, which is why mobile apps and tools like OkHttp’s CertificatePinner use it.