transliterate
Bi-directional transliterator for Python
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
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 · maintenance · safety
GPL 2.0/LGPL 2.1 (copyleft) — 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.
last release 2018-09-17 (2888 days) · last repo commit 2026-03-11 · 314 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 545,654 downloads/mo, #6,076 on PyPI
Alternatives
Verify before relying
pip install transliterate
from transliterate import translit
text = "Lorem ipsum"
print(translit(text, 'ru')) # Лорем ипсум
print(translit(u"Лорем ипсум", 'ru', reversed=True)) # Lorem ipsum- 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).
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 on it.
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
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 |
| Classifiers | 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 |
Evidence: transliterate-1.10.2-py2.py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “convert greek text to latin”
- transliterateConverts text between Latin and non-Latin scripts (Armenian,…
- cyrtranslitConverts text between Cyrillic and Latin scripts bi-directionally,…
- uromanConverts text in any script to Latin alphabet romanization,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Linguistic packages
Detects and normalizes text encoding from unknown or ambiguous sources, supporting all IANA character sets that Python's core library provides codecs for, with the ability to register custom codecs.
tiktoken is a fast BPE tokenizer that converts text into token sequences compatible with OpenAI models, supporting multiple encoding schemes including o200k_base and model-specific encodings.
Install it if you work with OpenAI APIs or need to understand token boundaries in GPT-family models.
Detects character encoding and language in byte sequences with high accuracy, supporting 99 encodings and returning confidence scores, language tags, and MIME types.
Install it if you need to detect character encoding or language in byte data; the rewrite makes it substantially faster and more accurate than its predecessors.
Converts Unicode text to ASCII by transliterating non-ASCII characters into their closest ASCII equivalents, with no runtime dependencies.
However, if transliteration quality or ongoing maintenance matters, consider unidecode instead despite its GPL-only license.
Lark is a parsing library that builds abstract syntax trees from context-free grammars, supporting multiple parsing algorithms (Earley, LALR(1), CYK) with automatic line and column tracking.
Python bindings to the tree-sitter parsing library, enabling incremental parsing and syntax tree analysis for source code.
See also cyrtranslit · indic-transliteration · uroman · epitran · Unidecode · python-bidi · pymorphy2-dicts-ru · anyascii · hangul-romanize