Certificate Decoder

Decode and inspect PEM-encoded X.509 certificates in your browser

Certificate Details

Subject

-

Issuer

-

Valid From

-

Valid Until

-

Serial Number

-

Signature Algorithm

-

Public Key Algorithm

-

Status

-

Raw ASN.1 Structure

Understanding X.509 Certificates

Digital certificates and their role in secure communication

What is X.509?

X.509 is a standard for public key certificates used in TLS/SSL, code signing, email encryption, and more. It binds a public key to an identity verified by a Certificate Authority.

Certificate Chains

Certificates form a chain of trust from an end-entity certificate to a trusted root CA. Each certificate in the chain is signed by the next, enabling hierarchical trust verification.

PEM Format

PEM (Privacy Enhanced Mail) is the most common encoding format for certificates, using Base64 encoding between "BEGIN CERTIFICATE" and "END CERTIFICATE" markers.

Reading X.509 certificates

The fields that matter

Subject identifies who the certificate is for; Issuer identifies who signed it. When those are identical the certificate is self-signed, which is fine for internal use and a problem for anything a browser touches.

Subject Alternative Name is the field that actually determines which hostnames a certificate is valid for. Common Name has been ignored by browsers for years — if a certificate works everywhere except Chrome, a missing SAN entry is the usual reason.

PEM, DER, and the rest

PEM is base64-wrapped DER with -----BEGIN CERTIFICATE----- markers, and it is what most tools expect. DER is the raw binary form, common in Java and Windows contexts. PKCS#12 (.p12, .pfx) bundles a certificate with its private key and is usually password-protected.

A frequent cause of confusion is a file with a .crt or .cer extension that could be either PEM or DER — the extension tells you nothing reliable. If a tool rejects your file, try converting between the two before assuming the certificate is broken.

Chains and expiry

Certificates validate through a chain to a trusted root. A server must send its own certificate plus any intermediates; the root is already in the client's trust store. Omitting the intermediate is the classic 'works in my browser, fails in curl' bug, because browsers often cache intermediates from previous sites and other clients don't.

In an auth context, certificates show up as SAML IdP signing certificates, mTLS client certificates, and TLS certificates on custom domains. SAML signing certificates are a common source of outage because they expire on the IdP's schedule rather than yours, and nothing warns you.

Frequently asked questions

No. Parsing runs entirely in your browser. Certificates contain only public information, but private keys never should be pasted into a web page and this tool does not need one.

DER is the raw binary encoding. PEM is that same data base64-encoded and wrapped in BEGIN and END markers so it can be pasted as text. They carry identical information, and openssl can convert between them in one command.

Usually a missing intermediate certificate. Browsers sometimes cache intermediates encountered on other sites, so they succeed where a fresh client fails. Ensure your server sends the full chain except the root.

Subject Alternative Name. Common Name is deprecated for hostname matching and ignored by current browsers. A certificate with the right CN but no matching SAN entry will be rejected.

Decode the certificate from your IdP's metadata and read the Not After field. These expire on the identity provider's schedule and rarely generate a warning to the service provider, so it's worth tracking them deliberately rather than discovering the expiry through a failed login.

Certificate rotation you don't have to diary

Signing key rotation, custom domain certificates, and JWKS publication are managed for you — no expiry surprises at 2am.

Free, unlimited users. No credit card required.