PGP Key Generator
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
Enter the user ID
Provide the name and email address that will be embedded in the public key.
-
2
Choose the key type
Use Curve25519 for a compact modern key, or RSA 2048/4096 when RSA compatibility is required.
-
3
Set a passphrase
Use at least 8 characters; a longer unique passphrase gives better protection to the private-key block.
-
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
- Copy and verify all three armored blocks before leaving the page.
- Share only the public key.
- Store the private key and revocation certificate in separate protected locations.
- 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
A1Z26 Cipher Encoder
Encode text using the A1Z26 cipher (A=1, B=2, ... Z=26) or decode a number sequence back to letters, with customizable separator.
Cipher Identifier
Paste ciphertext and the identifier suggests likely encoding/cipher schemes: Base64, hex, binary, Morse, Caesar or substitution, JWT and common hashes.
Atbash Cipher Encoder
Encode or decode text with the Atbash cipher, a Hebrew substitution that maps A-Z to Z-A. Same operation encrypts and decrypts.
CSR Generator
Generate a PEM-encoded Certificate Signing Request and matching RSA private key. Specify the Common Name, organisation fields and key size (2048, 3072 or 4096 bits).
Encryption Identifier
Paste a ciphertext or hash and the identifier suggests likely algorithms or encodings: MD5, SHA, bcrypt, AES, RSA, Base64 and more.
Caesar Cipher Encoder
Encrypt and decrypt text using the Caesar cipher. Any shift 1-25, supports ROT13 as a special case, preserves punctuation and case.
Tool available in other languages
- เครื่องมือสร้างกุญแจ PGP [TH]
- Générateur de clés PGP [FR]
- PGP 키 생성기 [KO]
- Generator Kunci PGP [ID]
- Gerador de chaves PGP [PT]
- PGP-sleutelgenerator [NL]
- مولّد مفاتيح PGP [AR]
- PGP-Schlüsselgenerator [DE]
- Generador de claves PGP [ES]
- PGP-nyckelgenerator [SV]
- Trình tạo khóa PGP [VI]
- PGP鍵ジェネレーター [JA]
- Generator kluczy PGP [PL]
- PGP 密钥生成器 [ZH]
- Generatore di chiavi PGP [IT]
- Генератор ключей PGP [RU]
- PGP Anahtar Oluşturucu [TR]