Generate a PKCS#10 CSR and matching private key in your browser. Supports RSA 2048/4096 and EC P-256/P-384. Nothing is uploaded or transmitted.
A Certificate Signing Request is what you hand to a Certificate Authority instead of your private key. The CA reads the subject fields, confirms you control the domain, and issues a signed certificate using the public key embedded in the request. CSR Generator builds one in your browser tab using the WebCrypto API: no upload, no server, no third-party library.
The private key is generated here and signed here. The CSR comes out as a PEM file starting with -----BEGIN CERTIFICATE REQUEST-----, ready to paste directly into your CA’s order form or pipe into openssl req -verify. Copy before navigating away — the key is gone when the tab closes.
Fill in Common Name as api.example.com, Organization as Example Ltd, Country as GB, leave the rest blank, pick RSA 2048 and SHA-256, and click Generate CSR. The output is a PKCS#10 DER structure wrapped in base64 and PEM armour. Take the CSR to Let’s Encrypt, DigiCert, or any other CA. They read the subject fields and issue a certificate embedding the same public key; they never see the private key that stays on this page.
Verify the result without leaving the browser: copy the CSR, open SSL Certificate Decoder (this category), and paste it in. The subject DN and public key algorithm reflect back exactly as you typed them. That round-trip confirms the DER encoding is valid before you submit it anywhere.
api.example.com or *.example.com for a wildcard. For a client or person certificate it is the full name.UK instead of GB is the single most common country-code mistake; some CAs reject the non-standard form.-----BEGIN RSA PRIVATE KEY-----) convert with: openssl pkcs8 -nocrypt -in private.key -out rsa.key.'()+,-./:=?) encode as 0x13. Anything else — accented characters, Cyrillic, CJK — encodes as UTF-8 0x0c. Both are valid PKCS#10 and the tool picks for you.Key Type
Signature Hash
SHA-256 is accepted everywhere. Use SHA-384 for P-384 keys.
Subject / Distinguished Name
Fill in at least a Common Name and click Generate CSR
Key generation and signing happen entirely in your browser. Nothing is sent anywhere.