Generate a Certificate Signing Request (CSR) plus a real private key right in your browser — RSA 2048/3072/4096 or ECDSA P-256/P-384, with Subject Alternative Names (SAN) and wildcard support. The key is created with the Web Crypto API on your device and never sent to any server. Bonus tab: self-signed certificate generator for local dev and testing.
A Certificate Signing Request is the file you hand to a Certificate Authority to get an SSL/TLS certificate. It bundles your public key, your identity (domain, organization, country), and requested extensions like SANs into a PKCS#10 structure, signed with your private key to prove possession. The CA verifies you control the domain, signs the contents, and returns a certificate. The private key never leaves your hands — that is the whole point of the design.
Both key types above are generated with the Web Crypto API — real RSASSA-PKCS1-v1_5 / ECDSA keys, not mock data. The ECDSA signatures are converted from WebCrypto's raw format to the DER encoding that CSRs require (a detail many naive generators get wrong).
Modern browsers ignore the CN field and validate the certificate only against the Subject Alternative Name extension. If www.example.com is not in SAN, the certificate is invalid for it — even if it is the CN. List every hostname (and IP, if needed) in the SAN box above. For a wildcard CSR, use *.example.com as CN and in SAN; it covers one level (api.example.com yes, deep.sub.example.com no).
Every major CA accepts a pasted CSR. Quick notes per vendor:
Prefer the terminal? These produce the same artifacts. On Windows, run them in Git Bash or WSL.
openssl req -new -newkey rsa:2048 -nodes -keyout www.example.com.key -out www.example.com.csr \ -subj "/CN=www.example.com/O=Example Corp/C=US" \ -addext "subjectAltName=DNS:www.example.com,DNS:example.com,DNS:*.example.com" # verify what you made: openssl req -in www.example.com.csr -noout -text # ECDSA variant: openssl req -new -newkey ec -pkeyopt ec_paramgen_curve:P-256 -nodes \ -keyout www.example.com.key -out www.example.com.csr -subj "/CN=www.example.com"
Convert to JKS (Java): openssl pkcs12 -export -in cert.crt -inkey private.key -out bundle.p12 then keytool -importkeystore -srckeystore bundle.p12 -srcstoretype PKCS12 -destkeystore keystore.jks. Make a PFX (Windows/IIS): openssl pkcs12 -export -in certificate.crt -inkey private.key -out bundle.pfx.
The honest version, checked October 2026 — features change, so verify before you commit to a workflow.
| Tool | Key generated where? | SAN support | ECC | Self-signed |
|---|---|---|---|---|
| This page (nrtechstudio.com) | In your browser (WebCrypto) — never uploaded | Yes — DNS, wildcard, IPv4/IPv6 | P-256 / P-384 | Yes, dedicated tab |
| ssltools.eu/csr-generator | Browser (JS) | Yes | No | No |
| toolspivot.com/csr-generation | Claims browser-side | Yes | Limited | No |
| kfcipher.net | Browser (JS) | Yes | Yes | No |
| softonic online CSR tool | Browser | No | No | No |
| openssl CLI | Your machine | Yes (via -addext) | Yes | Yes (x509 -req) |
The differentiators here: a hand-rolled DER/PKCS#10 builder (every CSR is verified parseable by OpenSSL during development), real ECC signatures with correct DER encoding, and a self-signed tab so one page covers the full local-TLS workflow. Pair it with our SSL Certificate Decoder to inspect anything you generate.
The Self-Signed tab builds a real X.509 v3 certificate — version, random serial, validity dates, SAN, key usage, extended key usage (serverAuth) and subject key identifier — signed with your new key. Browsers will still warn because no CA vouches for it; that is expected and not a bug. Typical uses: https://localhost development, staging environments, intranets, and devices like Home Assistant. On Windows/PowerShell the native alternative is New-SelfSignedCertificate -DnsName "x.example.com" -CertStoreLocation cert:\LocalMachine\My.
Short answers to the exact questions people search for.
An online CSR generator (also searched as "csr generator online", "free online csr generator" or "ssl csr generator online") creates a Certificate Signing Request in your browser. This one is free, needs no signup, and generates the private key locally with WebCrypto.
The best CSR generator is one that creates the key on your device (never on a server), supports SAN and ECC, and produces output every CA accepts. See the comparison table above — client-side key generation is the deciding factor.
A CSR generator with SAN ("online csr generator with san") lets you list Subject Alternative Names in the request. This tool accepts DNS names, wildcards and IPs in the SAN field — the extension CAs copy into your certificate.
An ECC CSR generator creates Elliptic Curve keys instead of RSA. Choose ECDSA P-256 or P-384 in the key type dropdown above for smaller, faster keys accepted by all major CAs.
To make a wildcard CSR, enter *.example.com as Common Name and add it to SAN. Works for DV and OV certificates; EV wildcards don't exist.
Every CSR made here is a CSR for SSL/TLS — the same PKCS#10 format used for website certificates, code signing requests and client certificates. Paste it into any CA's SSL order form.
This online CSR generator works on Windows, Linux and Mac (any modern browser, no install). Prefer the terminal? The OpenSSL commands above do the same on all three platforms.
There's no direct "CSR generator JKS" output because JKS is a Java keystore, not a request format. Generate the CSR here, get your certificate, then convert with openssl pkcs12 -export + keytool -importkeystore as shown above.
The one-liner is in the OpenSSL section: openssl req -new -newkey rsa:2048 -nodes -keyout domain.key -out domain.csr -subj "/CN=…" with -addext "subjectAltName=DNS:…". An "openssl CSR generator online" is exactly what the form above replaces — same output, no terminal.
Looking for a DigiCert CSR generator ("generate CSR online DigiCert", "online CSR generator DigiCert")? DigiCert's own tool is a Windows download. A CSR made here is fully compatible — paste it into DigiCert's order form; their checker validates it automatically.
Whether you search "csr generator godaddy", "csr generator sectigo" (formerly Comodo), "csr generator namecheap", "zerossl csr generator", "sslshopper csr generator" (SSL Shopper), "ssltrust csr generator" or "csr generator gogetssl / ssl dragon" — the answer is the same: all these CAs accept a standard pasted CSR, which is what this page produces.
Microsoft environments (IIS/Exchange) traditionally generate CSRs via the MMC Certificates snap-in or certreq. A standard CSR from this page works identically — issue the certificate at your CA and import it as PFX.
A CSR validator checks a CSR's signature and decodes its fields. Use our SSL Certificate Decoder (CSR tab) or openssl req -in file.csr -noout -text -verify.
If you searched "csr code generator" or "csr generator command" wanting the terminal version — copy the OpenSSL one-liners in the section above; they generate key and CSR in one command.
After generating, use the Download .csr and Download .key buttons to save the CSR file and private key. (No ZIP needed — they're tiny text files.)
The Email field adds the emailAddress attribute to the CSR subject. Optional for most CAs, occasionally required for client/S/MIME-style certificates.
"CSR generator bit" searches mean key size: choose 2048-bit RSA (standard), 3072-bit, 4096-bit, or ECDSA P-256/P-384 in the dropdown.
This free CSR generator has no accounts, no watermarks and no limits — generate as many CSRs and keys as you need.
Once the page loads, this CSR generator works offline — it makes zero network requests, so you can even disconnect before generating for maximum paranoia.
Running Home Assistant with SSL? Generate a self-signed certificate in the second tab with your HA hostname/IP in SAN, or generate a CSR here and get a free CA certificate for remote access.
This page doubles as a free online self-signed certificate generator ("self signed ssl generator", "free ssl self signed certificate generator", "ssl tools self signed certificate generator"): switch to the Self-Signed tab, enter CN + SAN, download the .crt and .key PEM files.
To generate a self-signed certificate with Subject Alternative Name, list every hostname/IP in the SAN box of the Self-Signed tab. Chrome rejects certificates without SAN, so this step is mandatory.
To generate a self-signed certificate as PFX/PKCS#12 online: download the .crt + .key from the Self-Signed tab, then run openssl pkcs12 -export -in cert.crt -inkey key.key -out cert.pfx.
On Windows, PowerShell's New-SelfSignedCertificate is the native self-signed certificate generator. This page is the cross-platform alternative that outputs PEM files directly.
"Self signed certificate generator does not work / keeps failing / error" reports — and cryptic error message text — almost always trace to: missing SAN, an expired certificate, the cert not being in the client's trust store, or (on IIS) a missing site binding. The checklist in the FAQ above covers each fix.
A self-signed certificate is not a vulnerability by itself — the encryption is real. The risk is trust: without a CA, clients can't verify identity, which enables man-in-the-middle attacks if users click through warnings. That's why they're fine for dev/intranet and wrong for public sites.
Use a self-signed certificate creation tool like the second tab here (for a website, put its domain in CN and SAN), OpenSSL (openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365), or PowerShell on Windows.
A CSR (Certificate Signing Request) is a PKCS#10 block with your public key and identity that you send to a CA (DigiCert, Sectigo, GoDaddy, ZeroSSL) to request an SSL certificate. CSR generation = creating a private key plus that request. Only the CSR goes to the CA; the key stays with you.
Enter your domain as Common Name, fill organization/country, add SANs, click Generate. You receive the CSR (send to your CA) and the private key (keep secret on your server).
With this tool, yes by design: the key is created by the Web Crypto API on your device and the page makes zero network requests (check DevTools → Network). Server-side generators require trusting the operator — prefer client-side ones like this.
One hostname per line in the SAN field — DNS names, wildcards (*.example.com) and IPs are accepted. Browsers validate SAN, not CN, so list everything the certificate must cover.
RSA 2048 for maximum compatibility; ECDSA P-256 for smaller keys and faster handshakes with all major CAs and modern browsers behind it.
2048 is the industry standard. 3072 matches ~128-bit strength. 4096 is slower with marginal benefit. Or sidestep the question with ECDSA P-256.
Use *.example.com as Common Name and in SAN. Covers one DNS level. EV certificates cannot be wildcards.
openssl req -in domain.csr -noout -text, or paste it into the CSR tab of our SSL Certificate Decoder — full field-by-field decode plus private-key match check, all client-side.
Paste the -----BEGIN CERTIFICATE REQUEST----- block into your CA's order form. They validate your domain/organization and return the certificate; install it alongside your private key.
Bundle to PKCS#12 first: openssl pkcs12 -export -in cert.crt -inkey private.key -out bundle.p12, then keytool -importkeystore -srckeystore bundle.p12 -srcstoretype PKCS12 -destkeystore keystore.jks.
openssl pkcs12 -export -in certificate.crt -inkey private.key -out bundle.pfx — bundles key + certificate (+chain) into one password-protected file for Windows/IIS.
A certificate signed with its own key instead of a CA's. Encryption is real; identity is unverified, so browsers warn. Fine for localhost, staging, intranets, Home Assistant — never for public sites (free CA certificates exist).
Use the Self-Signed tab above — CN plus every hostname/IP in SAN (Chrome requires SAN), up to 825 days validity. Download the .crt and .key.
New-SelfSignedCertificate -DnsName "www.example.com","example.com" -CertStoreLocation cert:\LocalMachine\My -NotAfter (Get-Date).AddYears(1). This page also works on Windows and hands you PEM files directly.
Checklist: SAN present (CN alone fails in Chrome), not expired, installed in the client's trust store, correct system clock, and for IIS the cert is bound in Site Bindings.
OpenSSL one-liner is in the section above (openssl req -new -newkey rsa:2048 … -addext "subjectAltName=…"). Windows: same command in Git Bash/WSL, or IIS Manager's wizard.
The CSR is a request (your key + identity, self-signed by you). The certificate is the answer (that content signed by a CA). You make the CSR; the CA makes the certificate.
IIS has its own MMC/certreq workflow, but the CSR format is standard — a CSR made here works with any CA, and the issued certificate imports into IIS via PFX.
Free tool by NRTechStudio
Explore similar generators tools and calculators. 100% free, accurate, and runs completely in your browser without sign-up.
2 taps, no typing needed — diagnostics are sent automatically.