22 releases (9 stable)

2.2.2 Dec 4, 2025
2.2.0 Jun 15, 2025
2.1.0 Oct 6, 2024
2.0.0 Feb 28, 2023
0.1.0 Dec 23, 2016

#7 in #bitcoin

Download history 65292/week @ 2025-10-12 82919/week @ 2025-10-19 81575/week @ 2025-10-26 91220/week @ 2025-11-02 102069/week @ 2025-11-09 89150/week @ 2025-11-16 103239/week @ 2025-11-23 114472/week @ 2025-11-30 109516/week @ 2025-12-07 110002/week @ 2025-12-14 56179/week @ 2025-12-21 54433/week @ 2025-12-28 113846/week @ 2026-01-04 104940/week @ 2026-01-11 121790/week @ 2026-01-18 121175/week @ 2026-01-25

467,513 downloads per month
Used in 1,432 crates (200 directly)

CC0 license

330KB
22K SLoC

bip39

A Rust implementation of BIP-39 mnemonic codes.

Word lists (languages)

We support all languages specified in the BIP-39 standard as of writing.

The English language is always loaded and other languages can be loaded using the corresponding feature.

Use the all-languages feature to enable all languages.

  • English (always enabled)
  • Simplified Chinese (chinese-simplified)
  • Traditional Chinese (chinese-traditional)
  • Czech (czech)
  • French (french)
  • Italian (italian)
  • Japanese (japanese)
  • Korean (korean)
  • Portuguese (portuguese)
  • Spanish (spanish)

MSRV

This crate supports Rust v1.41.1 and up and works with no_std.

The bitcoin_hashes range dependency effects the MSRV as follows

  • bitcoin_hashes v0.12: MSRV v1.41.1
  • bitcoin_hashes v0.13: MSRV v1.48.0
  • bitcoin_hashes v0.14: MSRV v1.56.0

When using older version of Rust, you might have to pin the versions of several crates, for an up-to-date list refer to contrib/test.sh:

cargo update --package "bitcoin_hashes" --precise "0.12.0"
cargo update --package "rand" --precise "0.6.0"
cargo update --package "libc" --precise "0.2.151"
cargo update --package "tinyvec" --precise "1.6.0"
cargo update --package "unicode-normalization" --precise "0.1.22"

If you enable the zeroize feature the MSRV becomes 1.51.

Dependencies

~0.4–0.8MB
~18K SLoC