API key generator
Generate API keys with a custom prefix (sk_live_, pk_…), cryptographically secure.
🔒 100% client-side — no data sent
Generate an API key with a customizable prefix (sk_live_, pk_, api_...) for your services and integrations. Everything is generated with crypto.getRandomValues, 100% in your browser: your key is never sent or stored anywhere else.
What is it for?
- ▸ Issue API keys for your customers or partners.
- ▸ Reproduce the Stripe-style sk_live_ / pk_ format.
- ▸ Create access tokens for your backend or webhooks.
- ▸ Separate test and production keys by prefix.
FAQ
What is an API key prefix for?
It identifies the key's type and environment at a glance (sk_live_, pk_test_) and helps detect leaks.
How do I store an API key securely?
Never commit it: keep it in a secrets manager or a .env, and store only a hash on the server side.
What's the difference between a public and a secret key?
The public key (pk_) can be exposed on the client, the secret key (sk_) must stay strictly server-side.
Is this key truly random?
Yes, it's produced by crypto.getRandomValues in your browser, with no network call.
Related tools
AES · encrypt / decrypt Encrypt and decrypt text with AES-GCM using a password, in your browser. Bcrypt hash Generate a bcrypt hash of a password and verify a password against a hash, in your browser. Binary calculator (bitwise) Perform bitwise operations (AND, OR, XOR, NOT, shifts) on two numbers, in your browser. Classic ciphers (Caesar, ROT13, Vigenère) Encrypt and decrypt with the Caesar, ROT13 and Vigenère ciphers (educational). CRC32 · checksum Compute the CRC32 checksum of a text (hexadecimal). Test card numbers (Luhn) Generate valid TEST card numbers per Luhn (Visa, Mastercard…), for development.