Skip to main content

SSL Certificate Decoder

Paste a PEM-format SSL/TLS certificate to decode and inspect all fields — subject, issuer, SANs, validity dates, key usage, and SHA-256 fingerprint. Expiry is color-coded. Runs entirely in your browser — no data is uploaded.

✓ Subject, Issuer, SANs ✓ Expiry with color coding ✓ SHA-256 fingerprint ✓ 100% client-side, no uploads

Frequently Asked Questions

What is a PEM certificate and how do I get one?▼

PEM (Privacy Enhanced Mail) is a base64-encoded format for X.509 certificates, wrapped between -----BEGIN CERTIFICATE----- and -----END CERTIFICATE----- markers. You can get a certificate's PEM from your server (nginx: ssl_certificate path; Apache: SSLCertificateFile path), from openssl: 'openssl s_client -connect example.com:443 -showcerts </dev/null 2>/dev/null | openssl x509 -outform PEM', from your CA's dashboard, or from certificate files with .pem, .crt, or .cer extensions. If you have a .pfx/.p12 file, convert with: openssl pkcs12 -in cert.pfx -clcerts -nokeys -out cert.pem

What are Subject Alternative Names (SANs) and why do they matter?▼

SANs (Subject Alternative Names) are the authoritative list of hostnames, IP addresses, or email addresses that an SSL/TLS certificate is valid for. Modern browsers and clients use SANs exclusively — the CN (Common Name) in the subject is ignored for host validation. A certificate for example.com with SANs [example.com, www.example.com] is valid for both. Wildcard SANs like *.example.com cover one level of subdomain. If your domain is not listed in the SANs, browsers will show a security warning.

How does this tool decode certificates without sending them to a server?▼

The tool implements a pure JavaScript DER (Distinguished Encoding Rules) parser — the binary format that X.509 certificates use internally. After stripping the PEM headers and base64-decoding, it parses the ASN.1 structure to extract fields like subject DN, issuer DN, validity dates, serial number, SANs, and key usage. The SHA-256 fingerprint is computed using the browser's built-in Web Crypto API (crypto.subtle.digest). No network requests are made — everything runs locally in your browser.

What does it mean when a certificate shows 'Is CA: Yes'?▼

A CA (Certificate Authority) certificate is used to sign other certificates, not to identify a website or service. CA certificates have the basicConstraints extension with cA=TRUE and typically have the keyCertSign key usage bit set. Root CA certificates are self-signed (subject equals issuer) and stored in browser/OS trust stores. Intermediate CA certificates chain from a Root CA and sign end-entity (leaf) certificates. If your server certificate shows 'Is CA: Yes', something is misconfigured — you should be presenting the leaf certificate, not an intermediate or root CA.

Share this tool: X / Twitter LinkedIn
✓ 60,000+ developers use DevPlaybook ★★★★★ 4.8 / 5 on Gumroad ✓ MIT licensed · Instant download ✓ No login required

Related Products

on Gumroad

You Might Also Need

More Free Tools

Enjoying this tool? Get more like it.

Weekly developer tool guides, productivity playbooks & AI tricks. Free. No spam.

DevPlaybook Pro 7 days free

Unlock AI-Powered Dev Tools

  • ⚡ AI Code Review, Doc Generator & SQL Builder
  • ⚡ All premium templates & early access
  • ⚡ Member discounts on Gumroad products
Start Free Trial →

$9/mo after trial · Cancel anytime

Want the full toolkit?

Get DevPlaybook Pro

Every template, guide, boilerplate, and automation script in one bundle. 13 premium products — grab them all at once and save big.

$79
$241 separately Save $162 (67% off)
Get DevPlaybook Pro — $79 →

MIT licensed · Instant download · No subscription

See what's included → Browse all deals →