PGP Key Generator

Generate OpenPGP public and private keys in your browser

Use this free PGP key generator to create an OpenPGP (GPG) key pair locally. Pick RSA or Curve25519, copy armored keys, inspect fingerprints, and download .asc files. 100% client-side. Your private key never leaves this tab.

PGP Quick Reference

Algorithms

Curve25519Fast default, modern ECC
P-256NIST ECC, wide TLS overlap
RSA 3072Solid RSA baseline
RSA 4096Slower, common for GPG

Typical Uses

EmailEncrypt and sign messages
GitVerified commit signatures
ReleaseSign tarballs and checksums
ChatIdentity in some messengers

PGP Key Guide

What is a PGP key?

PGP (Pretty Good Privacy) and the OpenPGP standard use a public key and a private key. Anyone can encrypt to your public key or verify a signature. Only the private key decrypts or signs. GPG is the usual command-line implementation of that format.

Generate vs inspect

Generate creates a new key pair and a revocation certificate in this tab. Inspect reads an existing armored block and shows fingerprint, Key ID, algorithm, User IDs, and expiry. Inspect never uploads the key.

Choosing an algorithm

  • Curve25519: Default here. Fast to generate. Preferred by current GPG for new keys.
  • RSA 4096: Use when a tool or policy still requires RSA.
  • Passphrase: Encrypts the private key at rest. Use one if you will keep the key.
  • Expiration: Limits damage if a key leaks. You can extend it later with GPG if you still have the private key.

PGP Key Generator FAQ

What is a PGP key?

A PGP (Pretty Good Privacy) key is an OpenPGP public and private key pair used to encrypt messages, sign Git commits, and verify software. You share the public key. You keep the private key secret.

How do I generate a PGP key online?

Enter a name and email, choose RSA or Curve25519, optionally add a passphrase, and click Generate keys. The armored public and private keys appear in your browser and are not uploaded.

Is it safe to generate a GPG or PGP key in a browser?

This generator runs locally with OpenPGP.js. Keys are not sent to a server. Still treat the private key as a secret: use a passphrase, download it, then clear the page. For high-value keys, prefer gpg on a trusted machine.

Should I use RSA or Curve25519?

Curve25519 is the usual default: smaller keys and faster generation. RSA 4096 is widely supported on older tools. RSA 2048 is still common but weaker than 3072 or 4096 for new keys.

What is a PGP fingerprint?

The fingerprint is a hash of the public key, shown as grouped hex. Compare it out of band before you import someone else's key. GitHub, Keybase, and gpg --fingerprint all display the same value for a given key.

How do I use a generated key with GPG?

Save the private .asc file and import it with gpg --import key.asc. List it with gpg --list-secret-keys --keyid-format=long. For Git commit signing, set user.signingkey to the Key ID and enable commit.gpgsign.

Does this tool encrypt email?

No. It only generates and inspects keys. Use a mail client with OpenPGP support, or gpg --encrypt, to encrypt messages with the public key.

What is a revocation certificate?

A revocation certificate lets you mark a key as withdrawn if the private key is lost or leaked. Generate it now, store it offline, and publish it later if you must retire the key.