SSL Certificate Decoder & SSH Key Inspector

Paste a certificate, a whole chain or a CSR to see its domains, issuer, expiry and fingerprints. Or paste SSH public keys, authorized_keys or known_hosts lines to see what each part means. Nothing is uploaded.

PEM certificate, chain or CSR

Get a server's chain with openssl s_client -connect example.com:443 -showcerts </dev/null. Binary .der/.cer files work too.

What's in an SSL/TLS certificate?

A certificate is a signed statement from a certificate authority (CA): "this public key belongs to these domain names, until this date". Browsers check the signature chain up to a root CA they trust, check the dates, and check that the address you typed is one of the certificate's names.

Subject Alternative NamesThe host names (and sometimes IP addresses) the certificate is valid for. Browsers only look here, not at the Common Name. *.example.com covers exactly one extra label: www.example.com but not example.com or a.b.example.com.
IssuerThe CA that signed it. In a chain, each certificate's issuer is the subject of the next one, ending at a root CA.
ValidityNot before / not after, in UTC. Publicly trusted certificates are getting shorter-lived: the CA/Browser Forum limit is 398 days for certificates issued before 15 March 2026, 200 days until March 2027, 100 days until March 2029 and 47 days after that. Automate renewal.
Key usage & extended key usageWhat the key may do. A TLS server certificate needs TLS Web Server Authentication.
Basic constraintsCA:TRUE marks a CA certificate that may sign others. Server certificates are CA:FALSE.
Policies (DV / OV / EV)How much the CA checked. Domain Validated only proves control of the domain. Organization Validated and Extended Validation also verified the company.
FingerprintsA hash of the whole certificate, used to identify it exactly. The SPKI pin is a hash of just the public key, used for certificate pinning in mobile apps. It stays the same when a certificate is renewed with the same key.

Fixing common certificate errors

Reading SSH keys

Public key linetype base64-key comment. The comment is free text, usually user@host, and is not part of the key.
authorized_keysThe same, optionally with options in front, such as from="10.0.0.0/8",no-pty, that restrict what the key may do on the server.
known_hostshosts type key: the server keys your SSH client has seen. Hashed entries (|1|salt|hash) hide the host names. Use the box above to test whether a host matches one.
FingerprintWhat ssh-keygen -lf key.pub prints and what SSH shows when it first connects. Compare it with the one the server owner publishes (GitHub lists theirs in its docs) before typing "yes".
Key typesEd25519 is the modern default: short, fast and safe. RSA should be at least 3072 bits for new keys. ECDSA is fine. DSA is obsolete and removed from current OpenSSH. Keys ending in -sk live on a hardware security key.

Privacy

Everything is decoded by JavaScript in this page. Certificates, keys and host names are never sent anywhere. Fingerprints and hashed-host checks use your browser's built-in Web Crypto.