← PEM Certificate Decoder

PEM Certificate Decoder: Practical Tips and Common Mistakes

Reviewed by the OnlineFree.app team · Updated

Key points

  • The PEM Certificate Decoder prints subject, issuer, key size, fingerprints, dates and SANs from pasted PEM text.
  • Only the first PEM block is decoded, so paste a single certificate rather than a full chain bundle.
  • Browsers ignore the Common Name and match hostnames against Subject Alternative Name entries only.
  • A Valid badge means the dates are current, not that the signature, chain or revocation status is trusted.
  • Certificate dates are stored in UTC but displayed in local time, so the expiry hour can look different.

What the PEM Certificate Decoder actually reads

Paste a -----BEGIN CERTIFICATE----- block into the PEM Certificate Decoder and it returns a readable key/value table of the decoded x509 fields: version, serial number, signature algorithm, the subject distinguished name split into CN, O, OU, C, ST and L, the issuer DN, the public key algorithm and size, and both SHA-256 and SHA-1 fingerprints. Underneath that sits a validity strip with days remaining and the complete Subject Alternative Name list.

Parsing happens in the browser. The pasted text or dropped file is read locally and never posted to a server, which is why it is reasonable to use on a certificate that is still in staging or has not been deployed yet. Headerless base64 works too, so you can paste just the body without the BEGIN and END lines, and inputs up to roughly 1 MB are accepted.

Each row has its own copy button, which matters more than it sounds mid-incident: you often need the serial number in a ticket and the fingerprint in a ticket comment without retyping 40 hex characters. The whole interaction is one screen, no account, no round trip.

Paste one block, not your whole chain

A full-chain bundle usually contains two or three PEM blocks: leaf, intermediate, sometimes root. The decoder parses the first block it finds and lists any additional blocks as detected, without decoding them. If your bundle is ordered root-first, you are reading the root certificate's subject and its long validity window and concluding everything is fine while the leaf expires tonight.

Split the bundle at each BEGIN line and paste the leaf on its own. Keep the intermediate for a separate look, because that is where chain problems usually live, and it is also where published CA fingerprints are easiest to compare.

Two more input traps. A binary DER file renamed to .cer gets read as text and fails, because the parser expects base64; convert it first with openssl x509 -inform DER -in cert.cer -out cert.pem. And never paste a private key block. The decoder handles certificates and CSRs only, and a key has no business in any web form, even one that runs locally. Our other free online tools follow the same no-upload rule.

How do you check a certificate against your domain?

Read the Subject Alternative Name list, not the Common Name. Every mainstream browser ignores CN for hostname matching and validates only the SAN extension, so a certificate with CN=example.com and no SAN entry fails with a name mismatch even though older documentation implies it should work.

Wildcards cover exactly one label. *.example.com matches www.example.com and api.example.com, but it does not match example.com itself and does not match a.b.example.com. The decoder flags wildcard entries separately so they are easy to scan for.

Check the SAN type as well as the value: an IP address needs a SAN of type IP, not a DNS entry that happens to contain digits and dots, and internationalised domains must appear in punycode (xn--) form to match. Copy the exact string from the table rather than retyping it.

Read notBefore as carefully as notAfter

The validity strip shows notBefore and notAfter in your local time with days remaining, plus a three-state badge: Valid, Expiring soon when fewer than 30 days remain, and Expired. Thirty days is a sensible tripwire for a scheduled renewal and a useless one for an emergency replacement at 2 a.m., so treat the badge as a prompt rather than a guarantee.

Certificate timestamps are stored in UTC, marked with a Z suffix, and the decoder renders them in your local zone. A certificate ending at 23:00 UTC displays as 00:00 the next day in Central European Time and 18:00 the same day in US Eastern. Before you accuse a server of having a broken clock, compare the UTC value.

Look at notBefore too. The badge is driven by the expiry date, so a certificate whose start date is still an hour in the future because of clock skew will not announce itself; read that row yourself. The classic failure is not issuance but deployment, where one load balancer or Kubernetes secret gets the new leaf and the other three keep the old one.

Is a valid certificate the same as a trusted one?

No. The Valid badge compares two dates and nothing else. It does not verify the signature, build a path to a trusted root, check OCSP or CRL revocation, or confirm the hostname. A self-signed certificate from a lab machine shows Valid and still breaks every browser on the network.

Where the fingerprints earn their place is comparison: matching an intermediate against the SHA-256 value a CA publishes, or confirming that two servers are serving the same leaf. Use SHA-256 for that. SHA-1 is displayed for legacy inventory matching only and should not be used as a security check.

For anything that matters, verify independently with openssl x509 -noout -subject -enddate -fingerprint -sha256 against the same file, or a browser check, and read RFC 5280 if you need the exact semantics of a field before acting on it. If your team needs the same field table wired into a deployment gate or internal dashboard, that is a small build rather than a paste, and a custom PRD build is where we scope it.

Frequently asked questions

Is the PEM Certificate Decoder safe to use with private certificates?

Yes. Decoding runs entirely in your browser: the pasted text or dropped file is read locally with the FileReader API and never uploaded to a server. That makes it reasonable for staging or internal certificates you would rather not post anywhere. It decodes certificates and CSRs only, so there is no reason to paste a private key block.

Can the PEM Certificate Decoder read a CSR as well as a certificate?

Yes. PKCS#10 certificate signing requests decode into the same field table, showing the subject and public key you are requesting. Validity is reported as not applicable because a CSR has no start or end date, and the SAN panel lists the names being requested rather than names that have been issued. Only a CA can turn those requests into a real certificate.

Does the PEM Certificate Decoder check whether my certificate chain is complete?

No. It decodes the first PEM block it finds and lists any additional blocks as detected without verifying them. It does not check signatures or build a path to a root. To confirm a chain, identify which intermediate signed your leaf and whether that intermediate is served alongside it, then validate with an OpenSSL verify command.

Why does the expiry time differ from what my server shows?

Certificate dates are stored in UTC, and the PEM Certificate Decoder displays notBefore and notAfter in your local time zone. A certificate ending at 12:00 UTC appears as 13:00 in Central European Time and 07:00 in US Eastern. Compare the underlying UTC value before deciding that a server clock is wrong.

Which file types can I drop into the PEM Certificate Decoder?

Files ending in .pem, .crt, .cer, .csr or .txt up to about 1 MB are read as text. PEM headers are optional, and headerless base64 works. A binary DER file will look like garbage because the parser expects base64, so convert it first with openssl x509 -inform DER -in cert.cer -out cert.pem on the command line.

References

Try PEM Certificate Decoder free — no sign-up, works in your browser
Open the tool →

More free tools

Step-by-step guides in our blog & guides.

AI SEO Title Generator Free Online Meme Maker Feuille De Calcul Gratuite Photo to Maze Generator مولد اوامر الذكاء الاصطناعي Online Shopping Sales Tax Calculator Générateur De Mots Mêlés Gratuit À Imprimer WiFi Signal Strength Checker + Heatmap Product Mockup Ai Generator Free Audio To Mp3 Converter Online Mp4