OpenPGP Key Pair Generator
Generate local OpenPGP key pairs, encrypted private keys and revocation certificates, with expiry and v4/v6 compatibility choices.
A public key, private key and revocation certificate
Generation creates a signing-capable primary key and an encryption subkey through pinned OpenPGP.js. The result selector starts on the public key; private key and revocation certificate are separate choices. Download saves the selected file. Key bundle includes all three files, including private material.
Private-key encryption is selected initially and requires matching passphrases. Uncheck it only when you deliberately need an unencrypted private key; the result is marked accordingly. Keep the private key and revocation certificate protected. The tool cannot recover a forgotten passphrase or retrieve a lost key.
Algorithms, expiry and compatibility
Curve25519 v4 uses the established EdDSA/ECDH representation for compatibility; v6 uses the newer OpenPGP key representation. Both use curve-based signing and encryption keys. RSA choices are 2048, 3072 and 4096 bits. Receiving applications must support the selected key format.
Expiry accepts 0–36500 days, with 0 meaning no expiry. The report records creation, expiry, full fingerprints and protection state; these do not establish ownership of the supplied name or email. Generation is cancellable with a 60-second deadline. Example generates new test keys each time, never a shared permanent key pair.
Reference
Questions & answers
Which file can I share?
The public key is intended for recipients or verifiers. A bundle also contains private material and a revocation certificate, so it is not a public-key-only export.
Is generation a certificate of identity?
No. It creates cryptographic material containing your chosen labels. Verify fingerprints and identity through your own trusted process.
Is my input uploaded or saved?
Processing runs in your browser. The tool does not put keys, passwords or content in URLs or local storage, or send them to a processing API. Clear removes visible inputs and outputs; it does not guarantee secure erasure of browser-managed memory.