skillfed

transliterate

Bi-directional transliterator for Python

transliterate v1.10.2 545.7K downloads/30d#6,076 on PyPI314
Copyleft license GPL 2.0/LGPL 2.1 Active released

What it is and what it does

Transliterate is a bidirectional character-mapping library that converts text between Latin and non-Latin scripts. It ships with language packs for Armenian, Bulgarian, Georgian, Greek, Macedonian, Mongolian, Russian, Serbian, and Ukrainian, allowing you to convert Latin text to Cyrillic or Greek and back again. The package uses simple character-to-character mappings defined in language packs, plus optional multi-character rules for cases where one source character maps to multiple target characters.

Beyond basic transliteration, it includes utilities for language detection, slug generation for non-Latin text, and lorem ipsum generation in supported languages. You can register custom language packs to extend it to other scripts, and for performance-critical work with large datasets, you can pre-load a specific language's transliteration function. The library has no external dependencies and runs on Python 2.7, 3.4+, and PyPy.

Use it for:

  • Convert user-generated Russian or Greek text to Latin characters for URL slugs or ASCII-only storage systems.
  • Build a search system that accepts both Latin and Cyrillic input and normalizes queries to a common script.
  • Generate placeholder text (lorem ipsum) in Armenian, Russian, or other supported languages for UI mockups.
  • Reverse-transliterate Cyrillic names or addresses back to Latin for international data exchange.
  • Register a custom language pack to support transliteration for scripts not in the bundled set.

Worth the install?

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

Converts text between Latin and non-Latin scripts (Armenian, Bulgarian, Georgian, Greek, Russian, Serbian, Ukrainian, Macedonian, Mongolian) in both directions using language-specific character mapping rules.

Yes, with license caution. The package is actively maintained, has no dependencies, installs cleanly, and solves a specific problem well for the languages it supports. However, its GPL 2.0/LGPL 2.1 copyleft license requires careful review if you plan to use it in proprietary software. The alpha/beta status of some language packs suggests you should test accuracy for your specific language before relying on it in production.

Install

transliterate on PyPI

pip

pip install transliterate

uv

uv add transliterate

poetry

poetry add transliterate

Installing transliterate

Before you install

No runtime dependencies and a pure-Python wheel distribution make installation straightforward. The package is actively maintained with a recent commit in 2026, though the latest release was in 2018.

License in practice

Licensed under GPL 2.0/LGPL 2.1 (copyleft). Use in proprietary software requires careful licensing review; derivative works and distributions must comply with copyleft obligations.

Quickstart

pip install transliterate

from transliterate import translit

text = "Lorem ipsum"
print(translit(text, 'ru'))  # Лорем ипсум
print(translit(u"Лорем ипсум", 'ru', reversed=True))  # Lorem ipsum

Verify before relying

  • Whether the 2018 release date reflects actual code staleness or if the 2026 commit represents active maintenance with unreleased changes.
  • Performance characteristics when processing large text volumes with different language packs.
  • Completeness and accuracy of the alpha/beta language packs (Macedonian, Mongolian, Serbian, Bulgarian).

Package facts

License GPL 2.0/LGPL 2.1 (copyleft)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance actively maintained — 2,888 days since the last release
Last repo commit
First released
Downloads 545,654/month — #6,076 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: transliterate-1.10.2-py2.py3-none-any.whl

Keywords: translit

Development Status :: 4 - BetaIntended Audience :: DevelopersNatural Language :: BulgarianNatural Language :: GreekNatural Language :: MacedonianNatural Language :: RussianNatural Language :: SerbianNatural Language :: UkrainianOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 2.7Programming Language :: Python :: 3Programming Language :: Python :: 3.4Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: Implementation :: PyPy

Tags

transliterate cyrillic to latinconvert greek text to latinbidirectional script conversionarmenian transliterationrussian to english transliterationnon-latin script converterlanguage pack transliteration
script-conversionmultilingualcopyleft-license

More Linguistic packages