skillfed

jiwer

Evaluate your speech-to-text system with similarity measures such as word error rate (WER)

jiwer v4.0.0 4.7M downloads/30d#2,257 on PyPI
Permissive license Apache-2.0 AGING released

What it is and what it does

JiWER is a Python package for evaluating automatic speech recognition (ASR) systems by computing standard error metrics. It calculates word error rate (WER), match error rate (MER), word information lost (WIL), word information preserved (WIP), and character error rate (CER) by computing the minimum-edit distance between reference transcripts and ASR hypothesis outputs. The package delegates the computationally expensive edit-distance calculation to RapidFuzz, which uses C++ under the hood, making it faster than pure Python implementations.

The package is designed for researchers and engineers validating ASR model quality. It handles edge cases like empty references (treating them as correct silence predictions) and supports batch processing of multiple reference-hypothesis pairs. With low install friction, no security vulnerabilities, and a permissive Apache 2.0 license, it integrates easily into evaluation pipelines.

Use it for:

  • Compute WER to benchmark an ASR model against a test set of reference transcriptions
  • Evaluate whether a speech model hallucinates on silent audio by testing empty reference-hypothesis pairs
  • Compare multiple ASR systems using MER, WIL, and WIP metrics alongside WER
  • Integrate ASR evaluation into a CI/CD pipeline to track model quality across releases
  • Analyze character-level errors (CER) to diagnose spelling or phonetic issues in ASR output

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

JiWER computes speech recognition evaluation metrics (WER, MER, WIL, WIP, CER) by calculating minimum-edit distance between reference and hypothesis text using RapidFuzz for speed.

Yes, for ASR evaluation workflows. The package is stable, has no vulnerabilities, and offers the standard metrics researchers need. The 421-day gap since last release is a minor concern for maintenance, but the code is straightforward and the dependency on RapidFuzz is solid. Install if you need to score speech recognition output; skip if you need active development or additional metrics beyond the five supported.

Install

jiwer on PyPI

pip

pip install jiwer

uv

uv add jiwer

poetry

poetry add jiwer

Installing jiwer

Before you install

Low install friction; pure Python wheel with only two runtime dependencies (click, rapidfuzz). Package is aging—last release was 421 days ago—but supports current Python versions (3.8+) and has no known vulnerabilities.

License in practice

Apache-2.0 permissive license allows commercial and private use with minimal restrictions; suitable for most projects.

Quickstart

pip install jiwer

from jiwer import wer

reference = "hello world"
hypothesis = "hello duck"
error = wer(reference, hypothesis)

Requires Python >= 3.8

Verify before relying

  • Whether the 421-day gap since last release reflects active maintenance or dormancy
  • Performance characteristics compared to other ASR evaluation libraries
  • Whether all five error metrics (WER, MER, WIL, WIP, CER) are equally mature

Package facts

License Apache-2.0 (permissive)
Python support supports the current Python release (>=3.8)
Install friction low — pure-Python wheel
Runtime dependencies 2 — click, rapidfuzz
Maintenance aging — 421 days since the last release
First released
Downloads 4,676,271/month — #2,257 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: jiwer-4.0.0-py3-none-any.whl

Tags

word error rate calculationspeech recognition evaluation metricsWER MER CER computationASR system evaluationedit distance speech textautomatic speech recognition scoringhypothesis reference comparison
speech-recognitionevaluation-metricsnlp

More Artificial Intelligence packages