Generate OpenPGP key pairs, encrypt messages for others, and decrypt messages sent to you. Everything runs in your browser memory, nothing is uploaded to any server.
Client side onlyOpenPGP.js
Best suited for personal education, training labs, and small experiments.
Choose an action
Start by creating a key pair for yourself, then use your public key to receive encrypted messages.
Use someone elseโs public key when you want to send them a private message.
Used to protect your private key. Do not forget this.
Larger keys can take longer to generate in the browser.
Ready to generate a fresh key pair.
Public key (share this with others)
Private key (keep secret, store safely)
You can paste your own public key or any other OpenPGP compatible public key block.
Paste a public key and a message, then encrypt.
Encrypted message
This never leaves your browser and is only held in memory for this session.
Paste your private key, passphrase, and the encrypted message, then decrypt.
Decrypted message
Legal and security notice
This page is provided for education and personal experimentation only. It does not provide legal, security, or compliance advice. All operations run inside your browser and, to the best of our knowledge, keys and messages are not transmitted to any external server. You are responsible for how you use any keys or ciphertext created here, including backups, revocation, and passphrase hygiene. No guarantees are given regarding cryptographic strength, implementation bugs, or compatibility with other OpenPGP tools.