100% client-side · key never uploaded

CSR Generator — Free Online CSR & Private Key Generator

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.

🔒 Private key safety: the key is generated inside your browser via WebCrypto. This page makes zero network requests — confirm in DevTools → Network. Save the private key somewhere safe; whoever holds it can impersonate your site.
⚠️ Self-signed certificates are NOT trusted by browsers. Encryption works, but visitors see a scary warning. Use them for localhost, staging, intranets, and IoT (e.g. Home Assistant) — for public sites get a free CA-signed certificate instead.

How to use this CSR generator online (3 steps)

  1. Fill the form. Common Name = your domain (e.g. www.example.com). Add every extra hostname to SAN — browsers check SAN, not CN.
  2. Generate. Your browser creates a real key pair with WebCrypto and builds a PKCS#10 CSR with a hand-rolled DER encoder. No upload, no account.
  3. Use the outputs. Paste the CSR into your CA's order form (DigiCert, Sectigo, GoDaddy, Namecheap, ZeroSSL…). Keep the private key on your server with chmod 600. No software to install — the whole online setup takes under a minute.

What is a CSR?

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.

RSA vs ECDSA, and which key size?

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).

Subject Alternative Names (SAN) — the field that actually matters

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).

Ordering from your CA: what each one asks for

Every major CA accepts a pasted CSR. Quick notes per vendor:

OpenSSL equivalents (Linux, macOS, Windows)

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.

CSR generator best practices

How this compares

The honest version, checked October 2026 — features change, so verify before you commit to a workflow.

ToolKey generated where?SAN supportECCSelf-signed
This page (nrtechstudio.com)In your browser (WebCrypto) — never uploadedYes — DNS, wildcard, IPv4/IPv6P-256 / P-384Yes, dedicated tab
ssltools.eu/csr-generatorBrowser (JS)YesNoNo
toolspivot.com/csr-generationClaims browser-sideYesLimitedNo
kfcipher.netBrowser (JS)YesYesNo
softonic online CSR toolBrowserNoNoNo
openssl CLIYour machineYes (via -addext)YesYes (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.

Self-signed certificates: the second tab

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.

Quick answers: CSR & self-signed generator glossary

Short answers to the exact questions people search for.

Online CSR generator

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.

Best CSR generator

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.

CSR generator with SAN

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.

CSR generator ECC

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.

CSR generator wildcard

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.

CSR generator for SSL

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.

CSR generator for Windows, Linux and Mac

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.

CSR generator JKS

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.

Generate CSR with OpenSSL and Subject Alternative Name

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.

DigiCert CSR generator

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.

CSR generators for GoDaddy, Sectigo, Namecheap, ZeroSSL and others

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 CSR generator

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.

CSR validator / CSR decoder

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.

CSR code / command generator

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.

CSR file download / ZIP

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.)

CSR generator with email

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 key bits (2048-bit)

"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.

Free CSR generator, no signup

This free CSR generator has no accounts, no watermarks and no limits — generate as many CSRs and keys as you need.

Offline CSR generator

Once the page loads, this CSR generator works offline — it makes zero network requests, so you can even disconnect before generating for maximum paranoia.

CSR generator for Home Assistant

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.

Self-signed certificate generator online

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.

Self-signed certificate with Subject Alternative Name

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.

Self-signed certificate to PFX

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.

Self-signed certificate generator for Windows / PowerShell

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 troubleshooting

"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.

Is a self-signed certificate a vulnerability?

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.

How to generate a self-signed certificate

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.

Frequently asked questions

What is a CSR and what is CSR generation?

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.

How do I generate a CSR online?

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).

Is it safe to generate a private key in a browser tool?

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.

How do I add Subject Alternative Names to a CSR?

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 or ECDSA for my CSR?

RSA 2048 for maximum compatibility; ECDSA P-256 for smaller keys and faster handshakes with all major CAs and modern browsers behind it.

What key size: 2048, 3072 or 4096?

2048 is the industry standard. 3072 matches ~128-bit strength. 4096 is slower with marginal benefit. Or sidestep the question with ECDSA P-256.

How do I generate a wildcard CSR?

Use *.example.com as Common Name and in SAN. Covers one DNS level. EV certificates cannot be wildcards.

How do I verify or decode my CSR?

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.

What do I do after generating the CSR?

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.

How do I convert to JKS?

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.

How do I make a PFX file?

openssl pkcs12 -export -in certificate.crt -inkey private.key -out bundle.pfx — bundles key + certificate (+chain) into one password-protected file for Windows/IIS.

What is a self-signed certificate?

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).

How do I generate a self-signed certificate with SAN?

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.

PowerShell / Windows alternative?

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.

Self-signed certificate not working — troubleshooting?

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.

How do I generate a CSR on Linux/macOS/Windows manually?

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.

CSR vs certificate — what's the difference?

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.

Can I use this for Microsoft/IIS CSRs?

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