Paste a PEM to decode its fields, SANs, and validity.
Runs against a live TLS connection or the certificate you paste in — nothing here is stored or sent anywhere else.
An X.509 certificate is a binary structure wrapped in base64. Opening one in a text editor tells you nothing. Paste it here and every field becomes readable:
Confirming what you were issued. A CA returns a file. Before you deploy it, decoding it takes a few seconds and tells you whether the hostnames, dates, and key match what you ordered.
Working out which file is which. A certificate bundle download often contains several similar-looking files with unhelpful names. Decoding each one identifies the leaf, the intermediates, and anything stale left over from a previous issuance.
Auditing a certificate you cannot reach over the network. Internal services, client certificates, and certificates pulled from a secret store are not reachable by a live scan, but you can still paste the PEM here.
Checking a certificate before it goes live. A certificate with a future notBefore date, or one issued for the wrong hostname, is much cheaper to catch now than during a cutover.
From a live server:
openssl s_client -connect example.com:443 -servername example.com < /dev/null \
| openssl x509 -outform PEM
From a file you already have, to check it is really PEM:
head -1 certificate.crt
# -----BEGIN CERTIFICATE-----
If that first line is not readable text, the file is DER-encoded — run it through the Cert Converter first. If you want to check what a live server is serving rather than what is in a file, the SSL Checker does that directly from a hostname.
Decoding tells you the notAfter date. Remembering it is the harder problem, and it is the one that causes outages.
Renew Radar tracks the expiry dates of every certificate you own and tells you before they matter. Free while in beta for up to 20 certificates.
PEM is the text encoding you get when a DER-encoded X.509 certificate is base64-wrapped between BEGIN CERTIFICATE and END CERTIFICATE lines. It is the format most Unix tooling expects, and the one you can safely paste into a form like this one.
A single PEM-encoded X.509 certificate. If your file contains a full chain, paste one certificate block at a time, including its BEGIN and END lines. Private keys and CSRs are different object types and will not decode here.
A .crt or .cer file is often already PEM — open it in a text editor and look for the BEGIN CERTIFICATE line. If it is binary, it is DER, and the Cert Converter will turn it into PEM for you.
The SHA-256 fingerprint is a hash of the whole certificate, so it uniquely identifies that exact certificate. It is what you compare when pinning a certificate, verifying you deployed the file you meant to, or confirming two servers are serving the same certificate.
Browsers stopped using the common name for hostname matching years ago; only the subject alternative name list counts. A certificate whose common name looks unrelated is fine as long as the hostname you care about appears among the SANs.
No. The certificate is parsed for the duration of the request and the decoded fields are returned to you. Nothing is written to a database or sent anywhere else. Certificates are public information in any case — they are handed to every client that connects.