Skip to main content

Benchmarking tool for tokenizer efficiency across languages and models

Project description

mothertoken logo

mothertoken

Every model has a native tongue. The question is whether yours matches.

Toolkit for comparing tokenizer efficiency across languages, model families, and user-supplied Hugging Face refs.

[!NOTE] The bundled benchmark is curated and representative, not exhaustive. Use direct Hugging Face refs when you want to compare tokenizers outside the starter set.

Installation

# Published package
pip install mothertoken

For local development:

git clone https://github.com/inimaz/mothertoken
cd mothertoken
uv sync
uv pip install -e .

CLI Usage

The mothertoken command is available after installation.

Common questions

I speak a language that is not English. Which tokenizer is most efficient for it?

mothertoken rank spanish
Show demo

Demo of mothertoken rank spanish

Asciinema source

I have this text and a chosen model. How many tokens does it use?

mothertoken tokenize "Hola Mundo" --model gpt-4o
Show demo

Demo of mothertoken tokenize Hola Mundo

Asciinema source

I am choosing between a few models. Which one tokenizes my text best?

mothertoken compare "Travesura realizada" --model gpt-oss --model Qwen/Qwen3-0.6B
Show demo

Demo of mothertoken compare Travesura realizada

Asciinema source

I have this model. Which languages does it tokenize best, which ones worst?

mothertoken benchmark run --models gpt-oss,YOUR_MODEL1,YOUR_MODEL2
Show demo

Demo of mothertoken benchmark run

Asciinema source

Rank tokenizers for a language

Rank supported tokenizers for a specific language using the precomputed benchmark data.

mothertoken rank spanish

# Raw FLORES+ codes still work
mothertoken rank spa_Latn

List tokenizers

See which tokenizer IDs can be used and which familiar models use them.

mothertoken list

Tokenize exact text

Count tokens for exact text using local tokenizers by default. Add --language to estimate the English-equivalent token count from the benchmark multiplier.

mothertoken tokenize "Hola Mundo" --language es

# Check one model
mothertoken tokenize "Hello" --model gpt-4o

# Check a Hugging Face model/tokenizer ref directly
mothertoken tokenize "Hello" --model Qwen/Qwen3-0.6B

# Estimate the English-equivalent count for a known language
mothertoken tokenize "مرحبا بالعالم" --language ar --model gpt-4o

# Compare against your own English translation
mothertoken tokenize "مرحبا بالعالم" --language ar --english-text "Hello world"

# Tokenize a file
mothertoken tokenize --file prompt.txt

# Compare translated files
mothertoken tokenize --file prompt.ar.txt --language ar --english-file prompt.en.txt

Compare selected tokenizers

Compare aliases from mothertoken list with direct Hugging Face refs. This is the main workflow when you care about a specific set of models.

mothertoken compare "Travesura realizada" \
  --model gpt-4o \
  --model Qwen/Qwen3-0.6B \
  --model mistralai/Mistral-7B-v0.1

mothertoken compare --file prompt.txt \
  --model mistralai/Mistral-7B-v0.1 \
  --model deepseek-ai/DeepSeek-V4-Pro

Benchmark data

mothertoken benchmark shows benchmark help. Use benchmark run to create benchmark data, benchmark use to choose the active benchmark, and benchmark status to inspect what commands will use.

When --output is omitted, benchmark run writes to the user-owned benchmark file and makes it active:

mothertoken benchmark run --languages eng_Latn,arb_Arab --models gpt-4o,Qwen/Qwen3-0.6B

Before it starts, the command prints the file it will write. The default user config locations are platform-specific:

OS User config directory
Linux / XDG $XDG_CONFIG_HOME/mothertoken or ~/.config/mothertoken
macOS ~/Library/Application Support/mothertoken
Windows %APPDATA%\mothertoken

To write somewhere else:

mothertoken benchmark run \
  --languages eng_Latn,arb_Arab \
  --models gpt-4o,Qwen/Qwen3-0.6B \
  --output benchmark.json

Make an existing benchmark active:

mothertoken benchmark use benchmark.json
mothertoken benchmark status

Return to the bundled default benchmark:

mothertoken benchmark use --default

Researcher Workflow

Benchmark regeneration and model-extension docs live in docs/benchmarking.md.

You can also benchmark a direct Hugging Face ref without adding it to default_tokenizers.yaml:

uv run mothertoken benchmark run --languages eng_Latn,arb_Arab --models Qwen/Qwen3-0.6B

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mothertoken-0.1.0.tar.gz (26.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mothertoken-0.1.0-py3-none-any.whl (31.7 kB view details)

Uploaded Python 3

File details

Details for the file mothertoken-0.1.0.tar.gz.

File metadata

  • Download URL: mothertoken-0.1.0.tar.gz
  • Upload date:
  • Size: 26.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mothertoken-0.1.0.tar.gz
Algorithm Hash digest
SHA256 2bb532bd9376824522ef70c50ef52b797a43115aec127e20bd5e40a1a4e54833
MD5 ed2d801a2f91855a94bf5932a35de769
BLAKE2b-256 49526404a2f96902d25fc21958eee36fe4b855d5874c4d0d53ce6dd070e3dc34

See more details on using hashes here.

Provenance

The following attestation bundles were made for mothertoken-0.1.0.tar.gz:

Publisher: python-publish.yml on inimaz/mothertoken

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mothertoken-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: mothertoken-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 31.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mothertoken-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f4c25f573d45c11d7ae5b26ad0028abb3325b74f269cbbacd56ded2b23c05475
MD5 58d952cfa409823a51434d278ea819ef
BLAKE2b-256 a2ad530e6fb7745dd4111f6f4ce3b0451a4bf246e39378f932f411a7a3f2e190

See more details on using hashes here.

Provenance

The following attestation bundles were made for mothertoken-0.1.0-py3-none-any.whl:

Publisher: python-publish.yml on inimaz/mothertoken

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page