PGP / GPG Tool
Generate OpenPGP key pairs and encrypt, decrypt, sign, or verify messages entirely in your browser.
PGP / GPG Tool — A complete OpenPGP workbench that runs the openpgp.js library directly in your browser. Generate a public and private key pair from a name, email, and passphrase, then encrypt, decrypt, sign, and verify ASCII-armored messages without anything ever leaving the page. Keys, passphrases, and plaintext are processed locally in memory, so nothing is uploaded to or stored on any server.
What is PGP / GPG Tool?
The PGP / GPG Tool is a free in-browser front end for OpenPGP, the encryption standard behind GnuPG (GPG) and email privacy tools. Developers, security engineers, journalists, and anyone exchanging confidential messages use it to create keys and protect text without installing command-line software. A Mode switcher lets you pick Generate keys, Encrypt, Decrypt, Sign, or Verify. In Generate keys you enter a name, email, and an optional passphrase and receive an ASCII-armored public key and private key. In Encrypt you paste a recipient's public key and a message to get an armored ciphertext; Decrypt reverses it with your private key and passphrase. Sign produces a cleartext-signed message with your private key, and Verify checks a signed message against a public key. Because the openpgp library is loaded lazily and every operation runs locally, your secret material stays on your device.
How to use PGP / GPG Tool
- Pick a Mode at the top: Generate keys, Encrypt, Decrypt, Sign, or Verify.
- To make a key pair, choose Generate keys, enter a name and email, optionally set a passphrase to protect the private key, then press Generate key pair.
- To encrypt, switch to Encrypt, paste the recipient's public key and your message, and press Run; copy the armored ciphertext from the result.
- To decrypt, switch to Decrypt, paste the armored message and your private key, enter its passphrase if it has one, and press Run.
- To sign or verify, choose Sign (private key) or Verify (public key), paste the message and key, and press Run to produce a signed message or read the verification result.
- Use the copy button on any result to grab the key or message text.
Examples
Generate a key pair
In Generate keys, enter a name like 'Ada Lovelace', an email, and a passphrase, then press Generate key pair. You get a PUBLIC KEY block to share and a PRIVATE KEY block to keep secret — both in ASCII-armored OpenPGP format.
Encrypt a message to someone
In Encrypt, paste the recipient's public key and type your message. Press Run and the result becomes a -----BEGIN PGP MESSAGE----- block that only the holder of the matching private key can decrypt.
Verify a signed message
In Verify, paste a cleartext-signed message and the signer's public key, then press Run. The result reports whether the signature is valid and shows the original text, confirming it was not tampered with.
Frequently asked questions
- Does my private key or passphrase get uploaded?
- No. Everything runs in your browser with the openpgp.js library. Keys, passphrases, and message text are processed locally in memory and are never sent to or stored on any server, so the tool works offline and your secrets stay on your device.
- What key type and algorithm does it generate?
- It generates modern OpenPGP key pairs using the library's defaults (Curve25519 elliptic-curve keys), which are fast and widely supported by current OpenPGP and GnuPG versions. The output is standard ASCII-armored OpenPGP, compatible with GPG and other OpenPGP software.
- Why does decryption or verification fail?
- Make sure you used the matching key — decrypt needs the private key for the recipient public key that encrypted it, and verify needs the signer's public key. Check that you pasted the full armored block including the BEGIN and END lines, and that the passphrase is correct for a protected private key.
- Can I leave the passphrase empty?
- Yes. When generating a key you can skip the passphrase to create an unprotected private key, and when decrypting or signing with such a key you leave the passphrase field empty. A passphrase adds a layer of protection if the private key is ever exposed.
- Is this compatible with GPG?
- Yes. The keys and messages use the standard ASCII-armored OpenPGP format (RFC 9580 / 4880), so you can import the keys into GnuPG and decrypt or verify messages produced here, and vice versa.
Related tools
AES Text Encryption (AES-GCM + PBKDF2)
Encrypt and decrypt text with AES-256-GCM using a passphrase-derived key (PBKDF2 SHA-256, random salt), entirely in your browser with no uploads.
Argon2 & scrypt Hash
Hash a password with Argon2id or scrypt and verify an Argon2 hash against a password, entirely in your browser.
Bcrypt Hash Generator & Verifier
Generate a bcrypt password hash from plain text at a chosen cost factor, or verify a password against an existing bcrypt hash, entirely in your browser.
BIP39 Mnemonic Generator
Generate a random BIP39 recovery phrase of 12 to 24 words in several languages, or convert an existing mnemonic back into its raw entropy, entirely in your browser.