PGP Key Generator & Encrypt / Decrypt

A PGP toolkit that runs entirely in your browser. Generate a fresh OpenPGP key pair (RSA 2048/4096 or modern Curve25519), then use the same page to encrypt messages to a recipient, decrypt messages addressed to you, or sign and verify text. Output is the standard OpenPGP format that works with GnuPG, Thunderbird, ProtonMail, Kleopatra, Mailvelope and any other compliant tool — no lock-in. Useful when you need to send one encrypted message without installing GnuPG, or generate a key pair on a borrowed machine that you'll then move to your own.

How to use

1
Generate a key pair

Enter your name, email, and a strong passphrase. Pick Curve25519 for new keys (fast), or RSA 4096 if you need maximum compatibility with older tools.

2
Share your public key

Copy or download the "-----BEGIN PGP PUBLIC KEY BLOCK-----" output. Publish it on your website, send via email, or upload to a keyserver. The public key is meant to be public.

3
Encrypt messages to others

Switch to the Encrypt tab. Paste a recipient's public key and the message. The output is a "-----BEGIN PGP MESSAGE-----" block — only the recipient (with their private key) can decrypt it.

4
Decrypt received messages

Switch to the Decrypt tab. Paste the encrypted message, your private key, and your passphrase. The plaintext appears below.

Generate a PGP / OpenPGP key pair and encrypt, decrypt, sign or verify messages — directly in your browser tab

Without the passphrase, the private key cannot decrypt or sign. Save it in a password manager.

                    
Fingerprint:

                    

                

                

                

🔒 How the cryptography is wired

  • Key material is drawn from your browser's cryptographically secure random source — never Math.random.
  • Key generation, encryption, decryption and signing all run inside your browser tab, on your CPU.
  • Your passphrase stays on the device — it is used locally to protect the private key and is not transmitted.
  • For an air-gap, load the page once with a connection, then disconnect before generating long-term keys — the toolkit keeps working offline from the service-worker cache.
  • Save your private key and passphrase securely; losing either makes the key permanently unrecoverable.
Don't know what to try?
750+ tools — open a surprise
🎲 Surprise me

Features

RSA and Curve25519
Pick legacy-compatible RSA 2048/4096 or modern Curve25519 (ECC). Curve25519 gives ~128-bit security in a fraction of the key size of RSA 3072 and generates almost instantly — recommended for new keys.
Encrypt / decrypt / sign / verify
All four PGP operations in one page. Paste public key + message to encrypt; paste private key + ciphertext to decrypt; sign text with your private key; verify a signature with the signer's public key.
Standard OpenPGP format
Output is the canonical "-----BEGIN PGP MESSAGE-----" / "-----BEGIN PGP PUBLIC KEY BLOCK-----" format — drops straight into GnuPG, Thunderbird, ProtonMail, Kleopatra, Mailvelope and every other OpenPGP tool.
Passphrase-protected private key
The private key is encrypted with your passphrase using the OpenPGP standard. Even if the private-key file leaks, the passphrase still has to be broken before anyone can use the key.
Cryptographically secure generation
Key material is drawn from your browser's secure random source — never the weak Math.random. Strong enough for long-term identity keys.
Runs in your browser
Key generation, encryption, decryption and signing all happen in your browser tab. The private key and decrypted plaintext live only in tab memory; close the tab and they're gone.

FAQ

Does my private key or passphrase leave my device?

No. Everything — key generation, encryption, decryption, signing — runs inside your browser tab on your CPU. The private key and passphrase live only in tab memory and are gone when you close it. For long-term identity keys, load the page once, then disconnect from the network before generating — the toolkit keeps working offline.

Which algorithm should I pick?

Curve25519 for new keys: ~128-bit security, much smaller keys, generates instantly. RSA 4096 if you need to communicate with older systems that don't support modern ECC. RSA 2048 only for legacy compatibility — current guidance (NIST, BSI) recommends at least 3072 bits.

Can I import my existing key?

Yes. On Encrypt / Decrypt / Sign / Verify tabs, paste your existing OpenPGP key block. The page does not save it — only uses it for the current operation.

What if I forget my passphrase?

The private key becomes unusable. There is no recovery — that's the point of strong encryption. Save the passphrase in a password manager when you generate the key.

Is this compatible with GnuPG / Thunderbird / ProtonMail?

Yes. The output is the standard OpenPGP format (RFC 4880 / 9580). Decrypts with GnuPG, Thunderbird's built-in OpenPGP, Kleopatra, ProtonMail, Mailvelope, and any other compliant tool.

Why does Curve25519 generate instantly while RSA 4096 takes 10+ seconds?

RSA has to randomly sample large integers and test each for primality until it finds two suitable primes — a slow trial-and-error process. Curve25519 just picks a random integer in a known valid range, no primality test required.

💡 Want us to improve this tool just for you?

We can! Just send us a quick message with your idea. If you'd like to discuss it in detail, leave your email and we'll get back to you. You can stay anonymous.

How do you rate this tool?

Thank you for your rating!
Want to share more? Leave a comment!
Thank you! Your comment will appear after moderation.
Published Updated Author: