Key Pair Generator
Generate RSA, ECDSA and Ed25519 key pairs in your browser with the Web Crypto API. Choose the key size or curve, then export the keys as PEM, JWK or an OpenSSH public key line.
Everything runs locally in your browser. Your data never leaves your device.
Algorithm
Modern signature keys, small and fast. The usual choice for new SSH keys.
Options
Appended to the OpenSSH public key line, usually an email address or hostname.
Keys are generated on this page with the Web Crypto API and are never stored. Copy or download what you need, a reload or regenerate discards the pair for good.
Key pair
Checking Ed25519 support…
Private key
Anyone with this key can act as its owner. Keep it secret.
Public key
Next steps
Send this tool's output straight into another tool.
Build and sign a JSON Web Token from a header and payload. Supports the HMAC, RSA, ECDSA and EdDSA algorithms real systems use, fills in standard claims like expiry for you, and shows the signed token ready to copy.
Convert text into every case at once: title case in the APA, AP, Chicago, MLA, Bluebook, AMA and NYT styles, sentence case, upper, lower, camelCase, snake_case, kebab-case and more.
Count words, characters, sentences, paragraphs, lines and more as you type, with estimated reading and speaking time.
Remove duplicate lines from a list or text, keeping the first occurrence. Optionally ignore case and whitespace, or drop blank lines too.
Replace text in two modes: plain find and replace all, or regular expressions with flag controls and capture group references like $1.
Paste a UUID to see what it carries: version, variant, and for time-based versions the exact timestamp, clock sequence and node. Also shows the raw bytes, the 128-bit integer and the URN form.
Decode Base64 to text or encode text to Base64. Paste into the top box, read the result below, and flip the direction with one click. Handles Unicode correctly, reads URL-safe Base64, and shows binary payloads as a hex dump you can download.
Convert numbers between binary, octal, decimal, hexadecimal and any base up to 36. Type into any field and the others update as you go. Handles huge integers without losing precision and accepts 0x, 0b and 0o prefixes.