cyrtranslit
Bi-directional Cyrillic transliteration. Transliterate Cyrillic script to Latin script and vice versa. Supports transliteration for Belarusian, Bulgarian, Greek, Montenegrin, Macedonian, Mongolian, Russian, Serbian, Tajik, and Ukrainian.
What it is and what it does
CyrTranslit is a Python library that converts text between Cyrillic and Latin alphabets in both directions. It defaults to Serbian transliteration but supports ten languages total: Belarusian, Bulgarian, Greek, Macedonian, Montenegrin, Mongolian, Russian, Serbian, Tajik, and Ukrainian. The package handles the script conversion rules for each language, allowing developers to normalize or convert text between writing systems—useful for text processing, data normalization, and cross-script analysis.
The library has no external dependencies and installs as a pure Python wheel, making it lightweight and easy to integrate. It is actively maintained, has been in development since 2015, and has been adopted in academic research for NLP tasks including machine translation, sentiment analysis, and text normalization. The MIT license permits use in any project.
Use it for:
- Normalize Serbian or Russian text data by converting between Cyrillic and Latin for unified storage or comparison
- Prepare multilingual datasets for machine translation or NLP models that require consistent script representation
- Convert user-generated content (tweets, forum posts) between scripts for text analysis or moderation workflows
- Support search and indexing systems that need to match queries across both Cyrillic and Latin variants of the same text
- Transliterate names and addresses in Cyrillic languages for international systems or reports
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Converts text between Cyrillic and Latin scripts bi-directionally, with language-specific support for Serbian, Russian, Ukrainian, Bulgarian, Belarusian, Macedonian, Montenegrin, Tajik, Mongolian, and Greek.
Yes. The package is lightweight, dependency-free, actively maintained, MIT-licensed, and solves a specific problem with no known vulnerabilities. Install it if you need to convert between Cyrillic and Latin scripts for any of the ten supported languages.
Install
cyrtranslit on PyPI
pip
pip install cyrtranslituv
uv add cyrtranslitpoetry
poetry add cyrtranslitInstalling cyrtranslit
Before you install
No runtime dependencies and a pure-Python wheel distribution make installation straightforward. The package is actively maintained with a recent release and steady repository activity.
License in practice
MIT license permits unrestricted use, modification, and distribution in both open and proprietary projects with minimal obligations.
Quickstart
pip install cyrtranslit
from cyrtranslit import to_latin, to_cyrillic
# Serbian example
result = to_latin('Мој ховеркрафт је пун јегуља')
print(result) # Output: Moj hoverkraft je pun jegulja
# Reverse direction
original = to_cyrillic('Moj hoverkraft je pun jegulja', lang_code='sr')
print(original)
Verify before relying
- Whether Greek transliteration uses the same API as Cyrillic languages or requires special handling
- Performance characteristics for large text volumes or batch processing
- Accuracy and coverage of transliteration rules for each supported language variant
Package facts
| License | MIT (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 267 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 125,348/month — #11,824 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: cyrtranslit-1.2.0-py3-none-any.whl
Keywords: cyrillic, latin, transliteration, transliterate, cyrtranslit, belarusian, bulgarian, greek, montenegrin, macedonian, mongolian, russian, serbian, tajik, ukrainian
Tags
More Linguistic packages
Detects and normalizes text encoding from…
permissive · top 100 on PyPI
tiktokentiktoken is a fast BPE tokenizer that converts…
permissive · top 1,000 on PyPI
chardetDetects character encoding and language in byte…
permissive · top 1,000 on PyPI
text-unidecodeConverts Unicode text to ASCII by…
copyleft · top 1,000 on PyPI
larkLark is a parsing library that builds abstract…
permissive · top 1,000 on PyPI
tree-sitterPython bindings to the tree-sitter parsing…
permissive · top 1,000 on PyPI
transliterateConverts text between Latin and non-Latin…
copyleft · top 15,000 on PyPI
uromanConverts text in any script to Latin alphabet…
permissive · top 15,000 on PyPI
python-bidiConverts bidirectional text (mixed…
copyleft · top 5,000 on PyPI
UnidecodeConverts Unicode text to ASCII-safe…
copyleft · top 1,000 on PyPI
hangul-romanizeConverts Korean Hangul text to romanized (Latin…
unclear · top 15,000 on PyPI
indic-transliterationConverts text between different Indic script…
permissive · top 15,000 on PyPI
epitranEpitran converts written text in various…
permissive · top 15,000 on PyPI
num2wordsConverts numbers to their word representations…
copyleft · top 5,000 on PyPI
anyasciiConverts Unicode text to ASCII-only equivalents…
permissive · top 5,000 on PyPI