I’ve just published a small Python utility called recode-stamper and it is also available on PyPI at https://pypi.org/project/recode-stamper/.

The idea is simple: take a UTF-8 string, turn it into a readable mnemonic phrase and decode it back later using a fixed 4096-word list.


Why I built it

I wanted a project that was small enough to understand completely, but still practical enough to be useful from the terminal.

This started as a fun experiment with bit packing and checksum validation and it turned into a lightweight utility with a very simple CLI. The goal was not to build a huge framework, but to create something readable, deterministic and easy to copy around.

There is something satisfying about taking a string and turning it into a sequence of words that is human-readable and easy to move between contexts.


What it does

The tool uses a fixed wordlist and encodes input into either a 12-word or 24-word mnemonic, depending on the payload size.

It supports:

  • encoding text into a mnemonic phrase
  • decoding a mnemonic back to its original UTF-8 text
  • automatic 12/24-word format selection
  • optional forced output length for testing and explicit formatting
  • a simple command-line interface for quick local usage

This makes it useful both as a learning exercise and as a practical utility for quick transformations in a terminal workflow.


Example usage

Install it from PyPI:

pip install recode-stamper==0.1.2

Then use the CLI directly:

recode --encode "MyPassword123!"
recode --decode "artist scavenge intimate airdrop humdrum curfew hexagon candy comedy bunion brevity aardvark"

You can also use the subcommands:

recode encode "MyPassword123!"
recode decode "artist scavenge intimate airdrop humdrum curfew hexagon candy comedy bunion brevity aardvark"

This keeps the workflow simple: one command to encode, one command to decode, with no extra setup required.


Why this is interesting

The project is intentionally small, but it touches a few ideas that are worth exploring:

  • bit packing
  • fixed-length word indexes
  • checksum validation
  • deterministic serialization
  • CLI ergonomics

It is a nice reminder that some of the most useful tools are also the easiest to reason about. You can read the whole implementation, understand the format and extend it without hidden complexity.


Project layout

The repository includes:

  • the main package: recode_stamper
  • the bundled wordlist: wordlist4096.txt
  • tests: test_recode.py
  • documentation: README.md
  • license: LICENSE

The project stays intentionally lightweight and easy to inspect, which makes it a good fit for experimentation and teaching.


Open source and next steps

Publishing the project on GitHub and PyPI makes it easier to:

  • review the implementation
  • install and use it quickly
  • extend the format or add new features
  • test edge cases and improve validation logic

I’m keeping the scope intentionally small and approachable, while continuing to improve the docs and CLI experience.


If you want to try it out, the project is here:

It is a small but practical example of turning data into something readable, memorable and easy to work with from a terminal.