🔑 Bitcoin Key Generator

Real cryptography, live and reactive — change one bit, watch everything cascade

🔗 Relationship Map — how everything connects

🎲 Entropy
🔐 Private Key (hex)
📝 Mnemonic
↓ PBKDF2 (2048 iter)
🌱 512-bit Seed
🔑 Master Key (BIP32)
🔓 Public Key
↓ SHA-256 → RIPEMD-160
🔵 hash160
📮 Legacy (P2PKH)
&
⚡ SegWit (bc1q…)
↓ BIP32 child derivation (HD Wallet)
🌳 HD Addresses (5 shown)
Computing secp256k1 · BIP32 · BIP39 …
1 Entropy — your 256 random bits GENERATE HERE

What is entropy?

A Bitcoin private key is simply a very large random number — 256 ones and zeros chosen at random. There are 2²⁵⁶ possible combinations: more than atoms in the observable universe. Click any bit to flip it and watch every downstream value change instantly.

0
Ones
256
Zeros
256
Total bits
2²⁵⁶
Possible keys
🔢 Binary (256 bits)
Generate to begin
🔤 Private Key — Hex (64 chars = 256 bits ÷ 4)

⚠️ Security: what makes entropy safe?

  • Must be truly random — not your birthday, name, or any predictable pattern
  • Generated by the operating system's cryptographic RNG (CSPRNG)
  • Never stored digitally or photographed
2 BIP39 Mnemonic Seed Phrase 12 WORDS

Entropy → Words (BIP39)

  • Step 1: Take your 128-bit entropy
  • Step 2: SHA-256 hash it; take first 4 bits as checksum
  • Step 3: Combine 128 + 4 = 132 bits
  • Step 4: Split into 12 groups of 11 bits → each picks 1 of 2,048 words

The same entropy always produces the same words. Writing down 12 words is equivalent to writing down your private key — but far easier to verify.

Generate entropy first…
📋 Full phrase (copy to paper — never digital)

⚠️ Anyone who has these 12 words controls your Bitcoin

Write on paper · Store in fireproof safe · Never type into a website · Never photograph

3 Seed & BIP32 Master Key BIP39 + BIP32

Words → Seed → Master Key

  • PBKDF2: Your 12 words + passphrase "" are stretched through 2,048 rounds of HMAC-SHA-512
  • Output: 512-bit root seed
  • HMAC-SHA-512(key="Bitcoin seed", data=seed) → left 32 bytes = master private key · right 32 bytes = master chain code
  • Chain code acts as entropy for all child key derivations
🌱 512-bit Seed (hex)
🔑 Master Private Key (BIP32)
🔗 Master Chain Code
4 Public Key via secp256k1 ELLIPTIC CURVE

Private key × G = Public key

Bitcoin uses secp256k1: the elliptic curve y² = x³ + 7 over a 256-bit prime field.

  • G (generator point) is a fixed public constant
  • Multiplying G by your private key k times gives the public key point (x, y)
  • This is a one-way operation: given the public key, recovering k is computationally impossible

G.x = 79BE667EF9DCBBAC…B16F81798
G.y = 483ADA7726A3C465…B10D4B8

y² = x³ + 7 over ℝ (conceptual — actual computation is over 𝔽ₚ with p ≈ 2²⁵⁶)

🔓 Compressed Public Key (33 bytes)
🔓 Uncompressed Public Key (65 bytes = 04 + x + y)
X coordinate
Y coordinate
🔵 hash160 = RIPEMD-160(SHA-256(pubkey))
🎮 Hash playground — try it yourself

Type anything and see SHA-256. Change one letter — the entire hash changes:

5 Bitcoin Addresses & HD Wallet BIP44 · BIP84

Public key → Address

  • hash160 = RIPEMD-160(SHA-256(compressed pubkey)) → 20 bytes
  • Legacy P2PKH: 0x00 + hash160 → double-SHA-256 checksum → Base58Check → starts with 1
  • Native SegWit P2WPKH: Bech32(witness v0, hash160) → starts with bc1q

From this entropy's private key directly:

📮 Legacy P2PKH (Base58Check)
⚡ Native SegWit P2WPKH (Bech32)

HD Wallet — from the BIP32 master key (BIP44 & BIP84):

One seed → infinite addresses

Modern wallets derive a tree of child keys from the master key using HMAC-SHA-512. Each child has its own private key, public key, and address — but all are recoverable from your 12 words alone.

BIP44 path: m/44'/0'/0'/0/i → Legacy
BIP84 path: m/84'/0'/0'/0/i → Native SegWit

#PathAddress (starts with 1)
Generate entropy to derive…
#PathAddress (bc1q…)
Generate entropy to derive…

⚠️ Security rules

  • Never share your private key or seed phrase with anyone
  • Use a new address for every payment (privacy)
  • In production wallets, Sparrow/Coldcard/Trezor handle all derivation automatically

Every time you press "New Random Key", a fresh universe of keys unfolds