Skip to content
Indian Font Converters
Indian Font Converters

Popular

Type a font name in English or in its own script. Search runs in your browser on a prebuilt index; nothing you type is sent anywhere.

For developers

The conversion engine, as an npm package and a WordPress plugin.

The same open-source engine that runs this site: 40 legacy-font profiles, zero dependencies, runs in Node and the browser. Embed a converter on a WordPress site or call it from your own code.

npm · coming soon

Install

npm install indic-font-converter

Node 18+ or any modern browser. ESM, CommonJS and .d.ts included. Not published yet: the name is reserved for the first release and this page will link to it.

echo 'fgUnh' | npx indic-font-convert --from krutidev --to unicode
indic-font-convert -f unicode -t bijoy < in.txt > out.txt
indic-font-convert --detect < mystery.txt
indic-font-convert --list --json

Quick start

Convert in three lines.

import { convert, detect } from 'indic-font-converter';

// Kruti Dev → Unicode
convert('fgUnh', 'krutidev', 'unicode').output;
// → "हिन्दी"

// Unicode → Bijoy
convert('বাংলা', 'unicode', 'bijoy').output;
// → "evsjv"

// Which legacy font is this?
detect('fgUnh ds fy, vkidk Lokxr gS').candidates[0].profile.id;

Outputs above are computed by this site’s own engine at build time.

01 · API overview

Small surface, typed.

convert(text, from, to)
Converts between any two endpoints: a profile id or "unicode". Font-to-font conversion pivots through Unicode. Returns { output, diagnostics, ms }; diagnostics list spans that were unknown, lossy or malformed.
detect(text)
Classifies text as Unicode, English or legacy, and ranks likely legacy fonts with a 0–1 confidence. Close scores set uncertain, so you can ask the user instead of guessing.
profiles · getProfile(id) · profilesForLanguage(lang)
The shipped profiles. Each has toUnicode(), fromUnicode(), chart() (the mapping table), fontNames, recommended Unicode fonts and provenance.
listProfiles()
Plain-data metadata for every profile, including status and an experimental flag, for building pickers and docs.
profileForFontName(name)
Maps a font-family name found in a Word, Excel or PDF file to a profile.
indic-font-converter/profiles/<id>
Per-profile subpath exports so bundlers include only the fonts you use.

Import only the fonts you need

Each profile has its own entry point, so a bundler pulls in that font and its script logic only, not the whole registry.

import profile from 'indic-font-converter/profiles/krutidev';

profile.toUnicode('fgUnh').output;     // "हिन्दी"
profile.fromUnicode('हिन्दी').output; // "fgUnh"

02 · Supported profiles

40 fonts in this release.

Generated from the engine registry, so it always matches what the package contains. Profiles still under audit are hidden on this site and are not included.

20 fixture-tested · 20 experimental.Experimental profiles convert what they cover but are not yet fixture-tested or reviewed by a fluent reader; the package metadata exposes this (experimental: true) so you can warn users.

Profiles included in the npm package and WordPress plugin
Profile idFontLanguageScriptStatus
krutidevKruti Dev 010कृतिदेवHindiDevanagariFixture-tested
chanakyaWalkman Chanakya 905चाणक्यHindiDevanagariFixture-tested
devlysDevLys 010देवलिसHindiDevanagariFixture-tested
preetiPreetiप्रीतिNepaliDevanagariFixture-tested
bijoyBijoy Classic / SutonnyMJবিজয়BengaliBengaliFixture-tested
baminiBaminiபாமினிTamilTamilFixture-tested
nudiNudi / Baraha shared ASCIIನುಡಿKannadaKannadaFixture-tested
shree-dev-0714Shree-Dev 0714MarathiDevanagariFixture-tested
shivajiShivajiMarathiDevanagariFixture-tested
kiranKiranMarathiDevanagariFixture-tested
anuAnu (Anu Script Manager 7)అనుTeluguTeluguFixture-tested
terafontTeraFont Trilochanટેરાફોન્ટ ત્રિલોચનGujaratiGujaratiFixture-tested
anmollipiAnmolLipiਅਨਮੋਲ ਲਿਪੀPunjabiGurmukhiFixture-tested
drchatrikDrChatrikPunjabiGurmukhiFixture-tested
ml-tt-karthikaML-TT KarthikaMalayalamMalayalamFixture-tested
ml-tt-revathiML-TT RevathiMalayalamMalayalamFixture-tested
ml-tt-ambiliML-TT AmbiliMalayalamMalayalamFixture-tested
fmlFML Malayalamഎഫ്.എം.എൽ.MalayalamMalayalamFixture-tested
akruti-saralaAkruti Odia SaralaOdiaOdiaFixture-tested
dv-tt-ganeshDV-TTGaneshHindiDevanagariExperimental
dvw-tt-ganeshDVW-TTGaneshHindiDevanagariExperimental
anjalAnjalTamilTamilExperimental
boomiBoomiTamilTamilExperimental
dinamaniDinamaniTamilTamilExperimental
dinathanthyDinathanthyTamilTamilExperimental
kavipriyaKavipriyaTamilTamilExperimental
murasoliMurasoliTamilTamilExperimental
nakkeeranNakkeeranTamilTamilExperimental
tabTABTamilTamilFixture-tested
tamTAM / TAM-ElangoTamilTamilExperimental
tsciiTSCIITamilTamilExperimental
pallavarPallavarTamilTamilExperimental
indowebIndowebTamilTamilExperimental
koelnKoelnTamilTamilExperimental
libiLibiTamilTamilExperimental
webulagamWebulagamTamilTamilExperimental
softviewSoftviewTamilTamilExperimental
vanavilVanavilTamilTamilExperimental
indicaIndicaTamilTamilExperimental
anu-tamilAnu TamilTamilTamilExperimental

03 · WordPress plugin · coming soon

A converter on any page, with a shortcode or a block.

Vanilla JavaScript with the same engine bundled in. No React, no jQuery, no external requests, no tracking: everything runs in the visitor’s browser.

Shortcode and block

[indian_font_converter from="krutidev" to="unicode"]

Or add the “Indian Font Converters” block and pick the fonts in the sidebar. The scripts load only on pages that use it.

Settings

  • Default “from” and “to” fonts.
  • Which of the 40 profiles visitors can choose.
  • Unicode and legacy display fonts.
  • An optional “Powered by Indian Font Converters” link, off by default.

Settings use the WordPress Settings API with nonces; all output is escaped and all options sanitised. Strings are translation-ready.

The plugin is built but not yet listed on WordPress.org. A download link will appear here when it is.

04 · Licence

GPL-3.0-or-later, explained.

What you can do

Use, study, modify and redistribute the engine, including commercially, as long as you keep the licence and notices.

What you must do

If you distribute a program that includes or links the engine, offer that whole program under the GPL with source. Using the converter from a separate process (the CLI) or running it on your server for users is not distribution.

Where the data comes from

Mapping tables are original work or from MIT, Apache-2.0, BSD, CC-BY, GPL-2.0-or-later and GPL-3.0 sources, all compatible with GPL-3.0-or-later. Each profile records its source and licence; the package ships them in NOTICE.md.

This is a plain-language summary, not legal advice. The licence text in the package is authoritative.

05 · FAQ

Questions about indian font converters for developers

Is the package or the plugin published yet?

Not yet. Both are built and tested, but the npm package and the WordPress.org listing are marked “coming soon” until they are published. This page will link to them then.

Can I use it in a closed-source or commercial product?

The engine is GPL-3.0-or-later. You may use it commercially, but a program that includes it and is distributed to others must itself be offered under the GPL, with source. Running the converter on your own server or calling the CLI as a separate program do not have that effect. If you need different terms, get in touch via the About page.

Does anything leave the device?

No. The engine is pure TypeScript with zero dependencies and makes no network requests, in Node, in the browser or in the WordPress plugin.

Why are some profiles missing from the package?

Profiles whose mappings are still being audited are hidden on the website and are not shipped in the package either. The package only contains what the site publishes.

What does “experimental” mean?

The mapping converts the characters it covers but has not been fixture-tested against reference converters or checked by a fluent reader. The metadata exposes this so your UI can warn users to proof-read.

Will the WordPress plugin force a credit link?

No. “Powered by Indian Font Converters” is an opt-in setting and is off by default, in line with WordPress.org guidelines.