Type a tool name, for example "keyword density" or "transcript".
Decodes a certificate signing request and its public-key information. A CSR is not an issued certificate: it contains no issuer chain or validity period to verify.
Implementation reviewed: 5 October 2026. Source documentation
Paste your PEM-encoded CSR to decode and inspect its contents.
A CSR decoder reads a PEM-encoded Certificate Signing Request and shows what is inside it: the common name, organization, location, key type and size, signature algorithm, and any Subject Alternative Names. Developers, sysadmins, and SSL buyers use it to catch mistakes before sending the request to a certificate authority.
A Certificate Signing Request (CSR) is a block of encoded text you send to a certificate authority (CA) when you order an SSL/TLS certificate. It carries your public key, the identity details you want on the certificate, and a signature made with your private key that proves you hold the matching key.
Most CSRs use the PEM format: Base64 text wrapped between -----BEGIN CERTIFICATE REQUEST----- and -----END CERTIFICATE REQUEST-----. Because the body is encoded, you cannot read it by eye. A private key is never part of a CSR, so decoding one exposes only the details you chose to submit.
This page is about certificate requests only. It has nothing to do with CSRF tokens (a web attack defense) or with corporate social responsibility, even though the abbreviations look alike in search results.
You decode a request by pasting its text into one box and pressing one button. The steps below match the fields on this page.
.csr or .pem and opens in any plain text editor.The box accepts up to 256 KB of text, far more than any normal CSR needs.
Say you generated a CSR for an online store and want to confirm it before paying for a certificate. You paste it in and click Decode CSR. The tool returns:
This is a healthy request. The hostname is spelled correctly, the RSA key is 2048 bits, the signature uses SHA-256, and both the bare domain and the www version are covered. Now imagine the Subject Alternative Names section is missing and you need both names. You would stop here, regenerate the CSR with both hostnames included, and decode again. Finding that now costs you a minute. Finding it after issuance can cost you a reissue and a delay.
Each part of the output answers a different question: who the certificate is for, how strong the key is, which hostnames it covers, and whether the request is intact. Use the table as a quick checklist.
| Result | Good sign | If it looks wrong |
|---|---|---|
| Common Name | Exact hostname, or *.example.com for a wildcard | Regenerate the CSR |
| Key Size | RSA 2048 bit or larger | Regenerate with a stronger key |
| Signature Algorithm | SHA-256 or stronger | Regenerate; avoid SHA-1 |
| Alternative Names | Every hostname you need | Regenerate with all names |
| Country | Two-letter code such as US | Regenerate with the right code |
The subject table lists whichever of these fields the CSR contains: Common Name, Organization, Organizational Unit, Email Address, Address, City, State / Province, Postal Code, and Country. Fields that are not in the request simply do not appear. For organization-validated certificates, spelling and legal name matter because the CA compares them with official records. Domain-validated certificates usually ignore most of these fields.
Key Type tells you whether the request uses RSA, EC, or another algorithm. Key Size is shown in bits. A 2048-bit RSA key is the widely accepted minimum for public certificates, and 3072 or 4096 bits are common choices when you want extra margin. SHA-1 signatures are deprecated for public certificates, so a CSR showing one should be replaced.
Modern browsers match the hostname you visit against the Subject Alternative Names (SANs), not just the common name. This section shows a count and each name found in the request. If you plan to secure example.com, www.example.com, and api.example.com on one certificate, all three should appear here.
The status next to "CSR decoded" tells you whether the request signature checks out. "Invalid CSR signature" means the request is damaged or malformed and you should not use it. "Signature unverified" means the CSR was decoded, but its signature algorithm is not one this page can verify. A passing status means the request is internally consistent.
Anyone who creates, orders, or troubleshoots SSL/TLS certificates benefits from seeing what is inside a request before it leaves their hands.
A few habits prevent most certificate ordering problems, and a few quick checks solve most decoding errors.
openssl req -in your.csr -noout -text -verify prints similar details in a terminal.Decoding shows what a request says. It does not guarantee that a CA will issue the certificate.
If you want to see exactly what your certificate authority will receive, paste your request into the box above and click Decode CSR. When you need a fresh request, the security and encryption tools collection has related generators and checkers for the next step.
Your report has been submitted. We will look into this issue.
A VPN changes your network exit. It does not guarantee anonymity.
Themes, plugins, code, video, audio, graphics & more from 90,000+ authors.
Web Development
Design & Media
Unlimited Access
Explore Envato Market