Generate PGP key pairs, encrypt & decrypt messages, sign & verify text — entirely in your browser. Your private keys never leave your device.
🔑 Generate a New Key Pair
All key generation happens locally in your browser using the OpenPGP.js library. Nothing is sent to any server.
Save to Key Ring (local storage)
✅ Key Pair Generated
Public Key
Private Key (Encrypted)
🔒 Encrypt a Message
Sign message with your private key
🔓 Decrypt a Message
✏️ Sign a Message
Detached signature (signature separate from message)
✅ Verify a Signature
🗝️ Your Key Ring
Keys are stored in your browser's local storage. They never leave your device. Export and back up your private keys — clearing browser data will delete them.
🔑
No keys yet. Generate a key pair or import one below.
📥 Import a Key
📚 How PGP Encryption Works
PGP (Pretty Good Privacy) uses public-key cryptography to secure messages. Each person has two keys:
Public Key — Share freely. Others use it to encrypt messages to you and verify your signatures.
Private Key — Keep secret. You use it to decrypt messages and create digital signatures.
Quick Start
Generate a key pair in the Generate Keys tab.
Share your public key with contacts.
Encrypt messages using the recipient's public key.
Decrypt messages sent to you with your private key + passphrase.
Sign messages to prove they came from you.
Verify signatures to confirm the sender's identity.
Key Types
ECC (Curve25519) — Modern, fast, small keys. Recommended for most users.
RSA 2048 — Good compatibility with older software. Minimum recommended strength.
RSA 3072 — Stronger. Recommended by NIST for use beyond 2030.
RSA 4096 — Maximum strength. Slower key generation but most secure RSA option.
Security Tips
Use a strong, unique passphrase for your private key.
Back up your private key securely — if you lose it, encrypted messages are gone forever.
Verify key fingerprints out-of-band (e.g., in person or via phone) to prevent impersonation.
Set an expiry date on your keys so compromised keys eventually stop working.
This tool runs entirely in your browser — your keys and messages are never transmitted.