PGP Key Generator

Generate
Next

Create an OpenPGP public key, passphrase-protected private key and revocation certificate with OpenPGP.js. Choose Curve25519, RSA 2048 or RSA 4096 and provide the name and email for the user ID. The generated armored blocks appear on the page for you to copy; this tool does not offer file-download or expiry controls.

How to generate an OpenPGP keypair

  1. 1

    Enter the user ID

    Provide the name and email address that will be embedded in the public key.

  2. 2

    Choose the key type

    Use Curve25519 for a compact modern key, or RSA 2048/4096 when RSA compatibility is required.

  3. 3

    Set a passphrase

    Use at least 8 characters; a longer unique passphrase gives better protection to the private-key block.

  4. 4

    Generate and copy

    Copy the armored public key, encrypted private key and revocation certificate shown on the page.

Available key types

Option What the generator creates When to choose it
Curve25519 Modern ECC OpenPGP key material Compact keys and current OpenPGP software
RSA 2048 2048-bit RSA OpenPGP key Compatibility where 2048-bit RSA is required
RSA 4096 4096-bit RSA OpenPGP key RSA compatibility with a larger key, but slower generation

None of these options is resistant to a sufficiently capable quantum computer. Check the requirements of the software and contacts that will use your key.

Three outputs to protect

  • Public key: distribute this so people can encrypt to you or verify your signatures.
  • Private key: encrypted with your passphrase, but it must still remain secret and be backed up securely.
  • Revocation certificate: store it separately; it can revoke the public key if the private key is lost or compromised.

Passphrase and recovery

The interface requires at least 8 characters, but that is only a minimum. Prefer a long, unique passphrase stored in a password manager. The tool cannot recover a forgotten passphrase, and it does not add an expiry date to the generated key.

Browser-only passphrase and key material

Generation happens in your browser. The standard interface keeps the form in Alpine state; the two-step interface carries the passphrase between its pages in browser sessionStorage. The passphrase is not a server-side property, URL parameter or server value. The two-step URL includes only the name, email and key choice. Copy the key material before leaving the page, and use trusted local OpenPGP software for high-assurance environments.

After generation

  1. Copy and verify all three armored blocks before leaving the page.
  2. Share only the public key.
  3. Store the private key and revocation certificate in separate protected locations.
  4. Import the key into your OpenPGP application and verify its fingerprint through a trusted channel.

Frequently Asked Questions

Yes. OpenPGP.js generates the key material in the browser. The passphrase stays in Alpine state or browser sessionStorage and is not sent to our servers, a URL or the application server.

Curve25519 is the compact modern default. Choose RSA 2048 or RSA 4096 only when the systems or contacts you use require RSA compatibility.

No. Keep it in a trusted password manager. Preserve the revocation certificate separately so you can revoke the public key if the private key becomes unusable or compromised.

It displays armored text for copying and does not provide a file-download button. Key material and the passphrase stay in the browser; the two-step mode uses sessionStorage for the passphrase and includes only name, email and key choice in its URL.

Related Tools

Tool available in other languages