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

#8 in #bitcoin

Download history 80397/week @ 2025-10-23 80541/week @ 2025-10-30 107813/week @ 2025-11-06 89287/week @ 2025-11-13 108020/week @ 2025-11-20 102462/week @ 2025-11-27 113015/week @ 2025-12-04 112457/week @ 2025-12-11 81194/week @ 2025-12-18 46470/week @ 2025-12-25 89243/week @ 2026-01-01 109070/week @ 2026-01-08 115736/week @ 2026-01-15 119820/week @ 2026-01-22 137309/week @ 2026-01-29 123973/week @ 2026-02-05

517,214 downloads per month
Used in 1,446 crates (203 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