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 79613/week @ 2025-09-17 83981/week @ 2025-09-24 86160/week @ 2025-10-01 76133/week @ 2025-10-08 74437/week @ 2025-10-15 84065/week @ 2025-10-22 79069/week @ 2025-10-29 103084/week @ 2025-11-05 91834/week @ 2025-11-12 106128/week @ 2025-11-19 97803/week @ 2025-11-26 112946/week @ 2025-12-03 113631/week @ 2025-12-10 93563/week @ 2025-12-17 47974/week @ 2025-12-24 74982/week @ 2025-12-31

350,902 downloads per month
Used in 1,373 crates (187 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