CSR Generator
Generate a Certificate Signing Request and private key for your SSL certificate.
Your Private Key Is Protected
This page runs in a hardened security environment. Your private key is generated in memory and never stored. Save it immediately — it cannot be recovered.
How we protect your private key
6 layers of protection
Zero Third-Party Scripts
No Google Analytics, no Clarity session recording, no Tailwind CDN, no external fonts. Only our own code runs here — nothing can read your key from the page.
Strict Content Security Policy
Browser-enforced policy blocks all external scripts, outbound data connections, and iframes. Even if a browser extension tried to inject code, the CSP prevents it from loading remote resources.
Ephemeral Processing
Your key is generated in server memory, sent in the response, and immediately discarded. It is never written to disk, never logged, and never stored in any database.
No Caching
HTTP headers instruct your browser to never cache this page. Your key won't remain in browser cache, proxy caches, or CDN edge servers.
Cross-Origin Isolation
Cross-Origin-Opener-Policy and Cross-Origin-Resource-Policy headers prevent other browser tabs or windows from accessing this page's contents.
Referrer Protection
Referrer-Policy is set to no-referrer so your visit to this page is never leaked to any external site.
Frequently asked questions
Is it safe to generate a private key on this page?
This tool runs on a hardened, browser-only shell with a strict Content-Security-Policy and no analytics or third-party scripts. Your key is generated in memory, returned once and never stored, logged or cached — but you must save it immediately because it cannot be recovered.
Should I choose RSA or ECDSA?
RSA 2048 offers the widest compatibility; RSA 4096 adds margin at a small performance cost; ECDSA P-256 is fast and compact (comparable to RSA 3072) and P-384 is the strongest ECDSA option. Choose ECDSA P-256 unless an older system requires RSA.
What is a SAN and do I need one?
A Subject Alternative Name lists every hostname the certificate should cover. Modern browsers ignore the Common Name and use the SAN list, so include every domain and subdomain you need — the Common Name is added to the SANs automatically.
What do I do with the CSR and private key afterwards?
Submit the CSR to your Certificate Authority, keep the private key secret on your server, install the issued certificate, then configure your server and verify with an SSL scan. Never send the private key to anyone, including the CA.
Do you store my CSR or private key?
No. Nothing you generate is written to disk, logged or cached; the private key exists only in the single response returned to your browser. If you lose it you must generate a new CSR and key pair.