PGP Encrypt & Decrypt — Free, Private, Browser-Based
A complete PGP workbench powered by OpenPGP.js: generate a modern ECC keypair, encrypt messages to any public key, decrypt with your private key, and clear-sign or verify text. Every operation runs locally in your browser — no key or message is ever transmitted.
Private by design. All cryptography runs in your browser via OpenPGP.js — keys, passphrases, and messages never leave your device, and keys are only stored if you explicitly click Save.
Frequently Asked Questions
- Are my keys or messages uploaded anywhere?
- No. All cryptography runs in your browser via OpenPGP.js. Keys, passphrases, and messages never leave your device, and nothing is stored unless you explicitly click "Save keys in this browser".
- What kind of keys does it generate?
- Modern ECC keys on curve25519 — the current OpenPGP default. They are smaller and faster than legacy 4096-bit RSA at comparable security, and compatible with GnuPG 2.1+ and all modern PGP clients.
- Can I use keys generated elsewhere (GnuPG, Keybase)?
- Yes. Paste any armored key block (-----BEGIN PGP … KEY BLOCK-----). RSA, ECC, and Ed25519 keys all work for encrypt, decrypt, sign, and verify.
- What if I forget my passphrase?
- The passphrase encrypts your private key and cannot be recovered — that is the point of it. Without it the private key is unusable, so store the passphrase in a password manager.
- What is the difference between encrypting and signing?
- Encrypting hides the content so only the recipient can read it. Signing proves the message came from you and was not modified — the text stays readable. You can do either or both.
- Is it safe to click "Save keys in this browser"?
- It stores the armored keys in this browser’s localStorage for convenience. Anyone with access to your browser profile could read them, so only use it on a personal device — downloaded .asc files kept offline are safer.
How to encrypt a message with PGP
- Generate or bring a keypair. On the Generate tab, enter a name/email and a passphrase to create an ECC (curve25519) keypair. Download both .asc files — or paste keys you already have on the other tabs.
- Encrypt to a public key. On the Encrypt tab, paste the recipient’s PUBLIC key block and your message, then click Encrypt. Only their private key can read the armored output.
- Decrypt with your private key. On the Decrypt tab, paste your PRIVATE key, its passphrase, and the armored message. The plaintext appears instantly — still fully offline.
- Sign and verify. Use Sign to produce a clear-signed message others can verify with your public key, and Verify to check a signed message hasn’t been tampered with.
FreeNo sign-upRuns in your browserDeveloperApplication
Use Cases
- Generate a PGP keypair for encrypted email without installing GnuPG
- Encrypt an API secret or password to a coworker’s public key before sending it over chat
- Decrypt a PGP message on a machine where you can’t install software
- Clear-sign a release announcement or security notice so readers can verify authorship
- Verify a downloaded file’s signed checksum statement against the maintainer’s public key