indic-transliteration
Transliteration tools to convert text in one indic script encoding to another
What it is and what it does
indic_transliteration is a library for converting text between Indic scripts and transliteration schemes commonly used for Sanskrit, Hindi, Tamil, Telugu, Kannada, Bengali, and related languages. It supports conversion between native scripts (Devanagari, Tamil, Telugu, Kannada, Bengali, Gujarati, Gurumukhi, Marathi, Oriya, Punjabi) and romanization schemes (Harvard-Kyoto, IAST, ITRANS, SLP1, WX). The package includes utilities for fixing lazy anusvaara and visarga characters, converting to lay Indian search terms, and customizing transliteration schemes.
Beyond the Python API, it provides a command-line tool (`sanscript`) for batch transliteration of files or standard input, with support for reading from and writing to files or pipes. The library is actively maintained, has no known security vulnerabilities, and depends only on lightweight utilities like regex, typer, and tqdm.
Use it for:
- Convert Sanskrit or Hindi text from Harvard-Kyoto romanization to Devanagari script for display or storage
- Batch-process text files containing multiple Indic scripts, normalizing them to a single target encoding
- Build search functionality that accepts both native-script and romanized input for the same text
- Develop educational tools that teach transliteration between Indic scripts and Latin-based schemes
- Normalize lazy diacritics and special characters in Indic text before further processing or analysis
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Converts text between different Indic script encodings (Devanagari, Tamil, Telugu, Kannada, Bengali, and others) and transliteration schemes (Harvard-Kyoto, IAST, ITRANS, SLP1, WX).
Yes. The package is actively maintained, has no security vulnerabilities, uses a permissive MIT license, and installs with low friction. It fills a specific and well-defined role for Indic script conversion with a stable API and both programmatic and CLI interfaces. Install it if you need to work with Indic scripts or transliteration schemes.
Install
indic-transliteration on PyPI
pip
pip install indic-transliterationuv
uv add indic-transliterationpoetry
poetry add indic-transliterationInstalling indic-transliteration
Before you install
Low install friction with a pure-Python wheel distribution. Active maintenance with a recent release and steady repository activity. Six runtime dependencies are all lightweight and widely available.
License in practice
MIT license permits unrestricted use, modification, and distribution in commercial and private projects with minimal attribution requirements.
Quickstart
from indic_transliteration import sanscript
data = 'idam adbhutam'
result = sanscript.transliterate(data, sanscript.HK, sanscript.TELUGU)
print(result) # ఇదమ్ అద్భుతమ్
Verify before relying
- Whether Python version requirements are enforced (requires_python is unspecified in metadata)
- Performance characteristics with large texts or many concurrent transliterations
- Completeness of Dravidian language extensions beyond the examples shown
Package facts
| License | MIT (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 6 — backports.functools_lru_cache, regex, typer, toml, roman, tqdm |
| Maintenance | actively maintained — 130 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 95,224/month — #13,277 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: indic_transliteration-2.3.82-py3-none-any.whl
Keywords: indic, script, transliteration, hindi, sanskrit, samskritam, kannada, devanagari, tamil, malayalam, telugu, gurumukhi, gujarati, bengali, oriya, -, Harvard-Kyoto, IAST, Roman-Unicode), SLP1, WX
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
indic-numtowordsConverts non-negative integers to their word…
permissive · top 15,000 on PyPI
transliterateConverts text between Latin and non-Latin…
copyleft · top 15,000 on PyPI
indic-nlp-libraryIndic NLP Library provides text processing and…
permissive · top 15,000 on PyPI
UnidecodeConverts Unicode text to ASCII-safe…
copyleft · top 1,000 on PyPI
pykakasiTransliterates Japanese text (hiragana,…
copyleft · top 5,000 on PyPI
epitranEpitran converts written text in various…
permissive · top 15,000 on PyPI
silpa_commonProvides common utility functions for SILPA,…
copyleft · top 15,000 on PyPI
anyasciiConverts Unicode text to ASCII-only equivalents…
permissive · top 5,000 on PyPI
whisper-normalizerStandardizes and normalizes text using the…
permissive · top 15,000 on PyPI
cyrtranslitConverts text between Cyrillic and Latin…
permissive · top 15,000 on PyPI