PGP Key Generator and Inspector
Create a PGP key pair with an optional passphrase and expiry, or paste a key in ASCII armor format to inspect its fingerprint, identities and subkeys.
Runs locally in your browser—
—
Create a PGP key pair with an optional passphrase and expiry, or paste a key in ASCII armor format to inspect its fingerprint, identities and subkeys.
Runs locally in your browser—
—
Generate a key pair in the browser: enter a name, and optionally an e-mail address, a passphrase and an expiry of one or two years. The page creates an OpenPGP.js 6.3.1 key pair on the Curve25519 family — an Ed25519Legacy signing key with a Curve25519Legacy encryption subkey — and shows both ASCII-armor blocks.
The second panel reads an existing public or private key in ASCII armor and reports what it finds: the fingerprint, key ID, identities, algorithm, creation and expiry dates, subkey count and whether the private key is passphrase protected. Nothing is uploaded, and the generated keys stay in the page until you copy or download them.
The primary key is an Ed25519Legacy signing key and the pair includes a Curve25519Legacy ECDH encryption subkey, which is what OpenPGP.js 6.3.1 produces for the curve25519Legacy profile. The fingerprint is the 40-hexadecimal digest shown in groups of four; the key ID is its last 16 digits. The expiry applies to the whole pair: Never, one year or two years after creation.
When a passphrase is entered, the private key material is encrypted with it; without one, the private-key block is unprotected and anyone who copies it can use it. The page keeps both blocks in memory only — it never stores or uploads them, and a refresh or a closed tab discards everything that was not copied or downloaded first.
Paste a block that starts with BEGIN PGP PUBLIC KEY BLOCK or BEGIN PGP PRIVATE KEY BLOCK. The table then lists the fingerprint, key ID, the user identities carried by the key, the algorithm and curve, the creation date, the expiry date (or Never) and the number of subkeys. The protection row reads Public key only, Passphrase protected or Not protected.
Reading the details does not need the passphrase: the inspector looks at the key metadata, not at the secret material it protects. If the box is empty it asks for an armored key first, and if the block cannot be parsed it says so and points at the BEGIN and END lines; a failed read clears the previous table instead of leaving the earlier key's details on screen.
It generates and reads key material; it does not encrypt or decrypt messages or files, sign, verify signatures, import a key into a keyring or test whether a passphrase is correct. It also does not vouch for a key: it shows the fingerprint and identities, but comparing them with the source you expect is still your call.
The generator uses the legacy Curve25519 profile for compatibility with existing OpenPGP implementations. Everything runs in the page, and no request carries the keys or the passphrase.