Certificate Decoder
Paste a PEM-format X.509 certificate to decode and inspect all fields — subject DN, issuer, Subject Alternative Names (SANs), validity dates, key usage extensions, and SHA-256 fingerprint. Expiry is color-coded (green / yellow / red). Runs entirely in your browser — no data is uploaded or sent to any server.
Frequently Asked Questions
What is an X.509 certificate and what information does it contain?▼
An X.509 certificate is the standard format for TLS/SSL certificates defined in RFC 5280. It contains: Subject (who owns the cert — domain, organization, country), Issuer (who signed it — the Certificate Authority), Validity period (notBefore and notAfter dates), Subject Alternative Names (SANs — the exact hostnames the cert is valid for), Public key (RSA, ECDSA, etc.), Serial number (unique per CA), Extensions (key usage, extended key usage, basicConstraints, OCSP URLs), and a SHA-256 fingerprint for identification. The PEM format wraps this binary DER structure in base64 with BEGIN/END CERTIFICATE markers.
How do I get a certificate in PEM format?▼
Several ways: (1) From your server config: nginx uses ssl_certificate /path/to/cert.pem, Apache uses SSLCertificateFile /path/to/cert.crt. (2) Via OpenSSL: 'openssl s_client -connect example.com:443 -showcerts </dev/null 2>/dev/null | openssl x509 -outform PEM'. (3) From your CA dashboard (Let's Encrypt, DigiCert, etc.). (4) Files with extensions .pem, .crt, or .cer are usually PEM-formatted. (5) If you have a .pfx or .p12 (PKCS#12) file, convert with: 'openssl pkcs12 -in cert.pfx -clcerts -nokeys -out cert.pem'
What are Subject Alternative Names (SANs)?▼
SANs (Subject Alternative Names) define the exact hostnames, IP addresses, or email addresses the certificate is valid for. Modern browsers exclusively use SANs for host validation — the Common Name (CN) in the Subject is ignored. A cert with SANs [example.com, www.example.com, api.example.com] is valid for all three. Wildcard SANs like *.example.com cover one subdomain level (www, api, mail) but not nested subdomains (a.b.example.com). If your domain is not in the SANs list, browsers will display a security warning.
How does this tool decode certificates without sending them to a server?▼
The tool implements a pure JavaScript DER/ASN.1 parser. X.509 certificates use DER (Distinguished Encoding Rules) binary encoding internally. After stripping PEM headers and base64-decoding, it parses the ASN.1 structure to extract each field. The SHA-256 fingerprint is computed using the browser's built-in Web Crypto API (crypto.subtle.digest). No data is ever transmitted — everything runs locally in your browser.
What does 'Is CA: Yes' mean in the certificate details?▼
A CA certificate is used to sign other certificates (it's a Certificate Authority), not to identify a website. CA certs have the basicConstraints extension with cA=TRUE and typically the keyCertSign key usage bit. Root CA certificates are self-signed (subject equals issuer) and stored in browser/OS trust stores. Intermediate CAs chain from Root CAs and sign end-entity (leaf) certificates. If your web server certificate shows 'Is CA: Yes', your configuration is incorrect — the server should present the leaf certificate, not an intermediate or root.
Why does my certificate show an expiry warning in red?▼
This tool color-codes expiry dates: green = valid for 30+ days, yellow = expires within 30 days, red = already expired. Expired certificates cause browser security errors (ERR_CERT_DATE_INVALID) and should be renewed immediately. If using Let's Encrypt, certificates expire every 90 days — set up auto-renewal with certbot renew via cron or systemd timer. For paid certificates, renew through your CA dashboard at least 30 days before expiry to avoid downtime.
Related Products
on GumroadDevToolkit Starter Kit
A ready-to-deploy developer tools website with 12 built-in tools. Astro + Preact + Tailwind. Deploy to Cloudflare Pages for free. Built-in SEO, dark mode, and ad-ready layout.
Buy on Gumroad →TypeScript Quick Reference Toolkit
5 practical reference files for TypeScript developers: cheatsheet, TS vs JS comparison, 20 utility types with real examples, tsconfig best practices template, and 15 common mistakes guide. Print it. Keep it on your desk.
Buy on Gumroad →Developer Productivity Bundle
Stop rebuilding the same setup every project. 51 VSCode snippets, 40 Git aliases, 5 Docker Compose stacks, 5 GitHub Actions workflows, 5 README templates, and a dotfiles kit. Set up a professional dev environment in under an hour.
Buy on Gumroad →You Might Also Need
mTLS Certificate Chain Builder
Visualize mTLS certificate chains, validate PEM certificates, and generate OpenSSL commands for CA, server, and client certificates.
Open free tool →
SSL Certificate Decoder
Decode and inspect SSL/TLS certificate PEM format. View subject, issuer, validity dates, SANs, and key details.
Open free tool →
TLS Certificate Decoder
Decode PEM or DER TLS certificates online. View expiry date, Subject Alternative Names (SANs), issuer, fingerprint, and certificate chain. Free browser-based tool.
Open free tool →
More Free Tools
Related Articles
Base64 Encode/Decode Explained: When and How to Use It
Understand when to use Base64 encoding and when to avoid it. This guide explains the Base64 algorithm, practical use cases, code examples in JavaScript, Python, Go, and more.
Base64 Encode Decode Online: Complete Developer Guide
Everything developers need to know about Base64 encoding and decoding—how it works, when to use it, URL-safe vs standard, plus a free browser-based Base64 encode decode tool.
How to Use AI for Code Review: A Practical Developer Guide
Learn how to use AI for code review effectively—catching bugs, security issues, and performance problems before they reach production. Includes real examples and free browser tools.
JWT Token Decoder: How to Debug Authentication Issues
Learn how to use a JWT token decoder to diagnose 401 errors, expired tokens, missing claims, and auth misconfiguration. Practical debugging guide with code examples.
Base64 Decode Online: Instantly Decode Any Base64 String for Free
Decode Base64 strings instantly online — JWT payloads, API image data, env vars, and SSH keys. No install needed, no account. URL-safe variant supported.
Enjoying this tool? Get more like it.
Weekly developer tool guides, productivity playbooks & AI tricks. Free. No spam.
Unlock AI-Powered Dev Tools
- ⚡ AI Code Review, Doc Generator & SQL Builder
- ⚡ All premium templates & early access
- ⚡ Member discounts on Gumroad products
$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.
MIT licensed · Instant download · No subscription
See what's included → Browse all deals →