# iancoleman/bip39

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/iancoleman-bip39).**

4,112 stars · 1,615 forks · JavaScript · mit

## Links

- GitHub: https://github.com/iancoleman/bip39
- Homepage: https://iancoleman.io/bip39/
- awesome-repositories: https://awesome-repositories.com/repository/iancoleman-bip39.md

## Description

This project is a mnemonic seed generator and deterministic wallet deriver. It converts mnemonic phrases into binary seeds and derives cryptocurrency wallet addresses and private keys.

The tool is implemented as a browser-based cryptographic utility designed for offline execution. This ensures that all key generation and seed computation occur locally on the machine to prevent private keys from leaving the local environment.

The system covers mnemonic phrase generation from entropy, seed computation using password-based derivation, and the derivation of public addresses for multiple cryptocurrencies via configurable derivation paths. It also includes utilities for exporting derived keys and addresses into table or CSV formats.

## Tags

### Security & Cryptography

- [Mnemonic Seed Generation](https://awesome-repositories.com/f/security-cryptography/mnemonic-seed-encoders/mnemonic-seed-generation.md) — Transforms random binary entropy into human-readable mnemonic phrases based on the BIP39 word list. ([source](https://iancoleman.io/bip39/))
- [Client-Side Cryptographic Utilities](https://awesome-repositories.com/f/security-cryptography/client-side-cryptographic-utilities.md) — Executes all cryptographic computations locally in the browser to ensure private keys never leave the machine.
- [Wallet Recovery](https://awesome-repositories.com/f/security-cryptography/cryptocurrency-wallets/wallet-recovery.md) — Derives private keys and public addresses from mnemonic phrases to restore access to cryptocurrency funds.
- [Cryptographic Key Generation](https://awesome-repositories.com/f/security-cryptography/cryptographic-key-management/cryptographic-key-generation.md) — Provides a browser-based tool for generating cryptographically strong wallet keys and seeds offline.
- [Deterministic Wallet Derivers](https://awesome-repositories.com/f/security-cryptography/deterministic-wallet-derivers.md) — Generates public and private keys from a seed using hierarchical derivation paths.
- [Hierarchical Deterministic Wallets](https://awesome-repositories.com/f/security-cryptography/hierarchical-deterministic-wallets.md) — Implements the BIP32 standard to generate a limitless number of child keys from a single root seed.
- [Address Derivation Schemes](https://awesome-repositories.com/f/security-cryptography/key-derivation-schemes/address-derivation-schemes.md) — Calculates public addresses for various cryptocurrencies by applying custom derivation paths to a root seed.
- [Mnemonic Seed Encoders](https://awesome-repositories.com/f/security-cryptography/mnemonic-seed-encoders.md) — Creates random word sequences from entropy or converts existing mnemonic phrases into binary seed data.
- [Private Wallet Management](https://awesome-repositories.com/f/security-cryptography/private-wallet-management.md) — Manages sensitive wallet keys locally in a browser environment to ensure private data remains offline.
- [Key Management](https://awesome-repositories.com/f/security-cryptography/wallet-integrations/key-management.md) — Converts mnemonic phrases into associated cryptocurrency addresses and private keys using custom derivation paths. ([source](https://cdn.jsdelivr.net/gh/iancoleman/bip39@master/README.md))
- [HMAC Generation](https://awesome-repositories.com/f/security-cryptography/hmac-generation.md) — Uses HMAC-SHA512 to stretch seeds into the private and public key pairs required for wallet generation.
- [Derivation Path Configurations](https://awesome-repositories.com/f/security-cryptography/key-derivation-schemes/address-derivation-schemes/derivation-path-configurations.md) — Allows users to configure branching paths to determine how keys are derived from the root seed. ([source](https://iancoleman.io/bip39/))
- [Key Derivation Functions](https://awesome-repositories.com/f/security-cryptography/password-management/key-derivation-functions.md) — Utilizes the PBKDF2 function to derive a 512-bit binary seed from a mnemonic phrase and optional passphrase.

### Data & Databases

- [Offline Operation Modes](https://awesome-repositories.com/f/data-databases/offline-caching/offline-operation-modes.md) — Executes all key generation logic within a standalone browser file to prevent private keys from leaving the local machine. ([source](https://cdn.jsdelivr.net/gh/iancoleman/bip39@master/README.md))

### Programming Languages & Runtimes

- [Cryptographic Key Paths](https://awesome-repositories.com/f/programming-languages-runtimes/key-path-mappings/cryptographic-key-paths.md) — Maps index numbers to key paths to organize different cryptocurrency coin types and account structures.
