skillfed

epitran

Tools for transcribing languages into IPA.

epitran v1.35.2 107.2K downloads/30d#12,626 on PyPI830
Permissive license MIT-Modern-Variant Active released

What it is and what it does

Epitran is a Python library and command-line tool for converting orthographic text into IPA phonetic notation. It works by mapping characters or character sequences in a source language and script (identified by ISO 639-3 language code plus a four-letter script code like 'Latn' or 'Arab') to their corresponding IPA phonemes. The library includes optional preprocessing and postprocessing steps to handle languages where sound-symbol correspondence is complex (such as French and English), and it supports both simple transliteration and detailed phonetic analysis via methods like word_to_tuples, which returns structured data including character categories, case information, and phonetic vectors.

The package is designed for linguistic research, speech processing, and multilingual text analysis. It handles multiple scripts and languages through a unified interface, with special support for tonal languages via an optional tones parameter, and provides a Backoff class for graceful fallback across multiple language modes when processing mixed-script text. For English, Mandarin Chinese, and Cantonese, it uses grapheme-to-phoneme (G2P) models that may require external resources like Flite or dictionary files.

Use it for:

  • Convert English text to IPA for speech synthesis or linguistic analysis pipelines.
  • Transliterate multilingual documents containing mixed scripts (e.g., Hindi with English loanwords) using the Backoff class.
  • Extract phonetic vectors and segment-level data from words for machine learning models in speech or NLP tasks.
  • Build pronunciation dictionaries or validate orthographic-to-phonetic mappings for language documentation.
  • Process tonal languages like Vietnamese or Hokkien while preserving tone markers in IPA output.

Worth the install?

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

Epitran converts written text in various languages and scripts into International Phonetic Alphabet (IPA) notation, supporting multiple language-script pairs with optional preprocessing and postprocessing.

Yes. Epitran is actively maintained, has no known vulnerabilities, uses a permissive license, and offers low installation friction. It is well-suited for developers and researchers working with multilingual phonetic transcription, linguistic analysis, or speech processing. The main gotcha is that English G2P and Chinese/Cantonese support require external resources (Flite or dictionary files), so verify those dependencies match your use case before committing.

Install

epitran on PyPI

pip

pip install epitran

uv

uv add epitran

poetry

poetry add epitran

Installing epitran

Before you install

Low friction installation with a pure Python wheel. Actively maintained with recent releases and a healthy repository signal (830 stars, last commit 2026-06-18). Requires Python 3.10 or later and five runtime dependencies including regex, panphon, marisa-trie, requests, and jamo.

License in practice

Licensed under MIT-Modern-Variant (permissive), allowing free use, modification, and distribution with minimal restrictions.

Quickstart

pip install epitran

import epitran
epi = epitran.Epitran('tur-Latn')
print(epi.transliterate('Düğün'))

English G2P requires separate installation of Flite (including lex_lookup) as noted in the documentation; Mandarin Chinese and Cantonese require a CC-CEDict or CC-Canto dictionary file passed to the constructor.

Verify before relying

  • Whether all five runtime dependencies (regex, panphon, marisa-trie, requests, jamo) are required for all language-script pairs or only for specific ones.
  • Performance characteristics and typical latency for transliteration on typical text lengths.
  • Coverage details: exactly how many language-script pairs are supported beyond the examples given.

Package facts

License MIT-Modern-Variant (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 5 — regex, panphon, marisa-trie, requests, jamo
Maintenance actively maintained — 57 days since the last release
Last repo commit
First released
Downloads 107,211/month — #12,626 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: epitran-1.35.2-py3-none-any.whl

Keywords: linguistics, phonetics, IPA, transliteration, phonology

Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: Science/ResearchOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Topic :: Scientific/Engineering :: Artificial IntelligenceTopic :: Software Development :: Libraries :: Python ModulesTopic :: Text Processing :: Linguistic

Tags

text to IPA transliterationorthography to phonetic conversionmultilingual phonetic transcriptiongrapheme to phoneme mappinglanguage script to IPAphonetic transcription librarylinguistic transliteration tool
phoneticsmultilingualipa-transcription

More Python Modules packages