CSR Decoder shows exactly what a certificate signing request asks for before you commit it to a certificate authority. Paste the PEM block and read the subject distinguished name field by field, the requested subject alternative names — the part that actually determines which hostnames the certificate will secure, since browsers ignore the CN — the public key type and size, and the signature algorithm. The decoder also verifies the CSR's own signature, which is the fastest way to catch the classic failure: a request truncated or mangled somewhere between the server that generated it and the form it was pasted into. Warnings fire on the things CAs bounce: RSA below 2048 bits and a missing SAN extension. It recognises a certificate or a private key pasted by mistake and says so, rather than producing nonsense.
Features
Full subject DN split into labelled fields
Requested subject alternative names — DNS, IP, email
The SAN list is what the certificate will actually secure.
Common errors & troubleshooting
The signature fails verification. — The bytes changed since generation — usually a truncated copy, an editor that rewrapped lines, or smart quotes from a document. Re-copy directly from the original file on the generating machine.
No SANs appear even though the CN names the domain. — Browsers have ignored the CN for years; a certificate issued from a SAN-less CSR secures nothing. Regenerate with a subjectAltName extension listing every hostname, www variant included.
The decoder says the paste is a certificate, not a CSR. — BEGIN CERTIFICATE and BEGIN CERTIFICATE REQUEST are different objects. Use an X.509 decoder for issued certificates; this tool reads the request that precedes issuance.
A tool elsewhere asked for the private key to check the CSR. — Decline. A CSR is self-contained and public by design — decoding it never requires the key. Any service requesting the private key for “verification” should not be trusted with it.
Frequently asked questions
What is a CSR and what does it contain?
A PKCS#10 certificate signing request: your public key, the identity you claim (subject and SANs), and a self-signature made with your private key proving you hold it. The CA verifies it, then issues the certificate — the private key never leaves your server.
Why do the subject alternative names matter more than the CN?
Browsers validate hostnames against the SAN list exclusively; the CN is legacy decoration. A CSR without SANs yields a certificate no browser accepts for any domain — the single most common CSR mistake, and the first thing to check here.
What does the signature verification prove?
That the request is internally consistent: the embedded public key verifies the CSR's own signature, so the bytes are exactly what the private-key holder produced. A failure almost always means the paste was truncated or altered — not a cryptographic attack.
What key size and algorithm should a CSR use in 2026?
RSA 2048 is the enforced minimum and RSA 3072 or EC P-256 the comfortable choice; SHA-256 signatures are standard. Public CAs reject sub-2048 RSA and SHA-1 outright — the decoder flags both before you waste a submission.
Is it safe to paste a CSR into a browser tool?
A CSR contains only public information, so yes in principle — and this decoder parses it on your device without any upload. The private key generated alongside it is a different matter: it goes nowhere, ever.
Related tools
X.509 Certificate Decoder — Decode a PEM or DER certificate to view subject, issuer, validity, SANs and fingerprints.
Certificate & Private Key Matcher — Confirm an X.509 certificate or CSR and a private key belong together (the classic modulus mismatch check) — locally in your browser.
SSH Key Generator — Generate Ed25519, RSA or ECDSA SSH keypairs in your browser and download the public and private keys.
PFX to PEM Extractor — Open a password-protected .pfx/.p12 file and split it into certificate, chain, and private-key PEM blocks.
PPK ↔ PEM Converter — Convert SSH private keys between PuTTY .ppk and OpenSSH/PEM (RSA & Ed25519) — locally in your browser.
Hash Generator — SHA-256 / SHA-1 / SHA-384 / SHA-512 via the Web Crypto API.