Title: Dhee Indic Transcriber
Author: dheeyantra
Published: <strong>November 10, 2026</strong>
Last modified: November 10, 2026

---

Search plugins

![](https://ps.w.org/dhee-indic-transcriber/assets/banner-772x250.png?rev=3794824)

![](https://ps.w.org/dhee-indic-transcriber/assets/icon-256x256.png?rev=3794824)

# Dhee Indic Transcriber

 By [dheeyantra](https://profiles.wordpress.org/dheeyantra/)

[Download](https://downloads.wordpress.org/plugin/dhee-indic-transcriber.1.0.0.zip)

 * [Details](https://wordpress.org/plugins/dhee-indic-transcriber/#description)
 * [Reviews](https://wordpress.org/plugins/dhee-indic-transcriber/#reviews)
 *  [Installation](https://wordpress.org/plugins/dhee-indic-transcriber/#installation)
 * [Development](https://wordpress.org/plugins/dhee-indic-transcriber/#developers)

 [Support](https://wordpress.org/support/plugin/dhee-indic-transcriber/)

## Description

A Malayali who never learnt Devanagari can read a Sanskrit stotram in Malayalam 
letters. A Tamil reader can follow a Hindi post in Tamil script. A Bengali can read
a Telugu page in Bengali.

Dhee Indic Transcriber puts a slim bar at the top of every page with two controls:

 * **Read in** — a dropdown of scripts. The reader picks one, and every piece of
   Indic text on the page is rewritten in it, whatever script it was written in.
   Text in English is never touched.
 * **Sanskrit mode** — checked by default. Every letter keeps its own vowel, as 
   Sanskrit is read: राम becomes Rama, कमल becomes കമല. Uncheck it to read Hindi,
   Marathi, Bengali, Gujarati, Odia and Punjabi the way they are spoken today: Ram,
   കമൽ.

The bar stays on screen at every size, from phones to wide desktops. The reader’s
choice is remembered in their browser and applies to every page they open, so they
choose once.

This is transliteration, not translation: the words stay the same, only the letters
change.

#### How it works

The conversion runs in the reader’s browser, using a JavaScript port of DheeYantra’s
SreeVidya engine. Each word is broken into its sounds and the sounds are written
out in the chosen script, so any supported script converts to any other.

 * Your posts are never changed. Turn the plugin off and nothing is left behind.
 * Nothing is sent to a server, and every visitor gets the same HTML, so page caching
   keeps working.
 * Text added after the page loads — comments, infinite scroll, anything a script
   adds — is converted as it appears.
 * Code, form fields and anything marked `notranslate` are left alone, and you can
   name other parts of the page to leave alone.

#### Accuracy

The engine was checked against the original Java SreeVidya over 1,609 lines of real
text and 3,989 lines of random characters, in every script and both modes. It gives
the same output everywhere except where it deliberately does better: it keeps the
chandrabindu (ँ) in scripts that have one, writes Gurmukhi text without stray Devanagari
letters, reads Bengali, Odia, Assamese and Gurmukhi vowels and nukta letters correctly,
writes Malayalam as Malayalam is written (അമ്മ, ദില്ലി, കല്യാണം, ശങ്കര, പഞ്ച — not
അംമ, ദിൽലി, കൽയാണം, ശംകര, പംച), and never loses a sentence to an error.

Some limits come from the scripts themselves. Tamil has one letter for k, kh, g 
and gh, so text converted into Tamil cannot be converted back exactly; the plugin
always converts from the original, so a reader moving between scripts loses nothing.
Roman output is phonetic (Namasthe, Rama), not English spelling.

### Credits

 * The plugin, and the transliteration engine in it (a JavaScript port of SreeVidya),
   are Copyright (C) 2016-2026 DheeYantra Research Labs Private Limited, licensed
   under the GNU General Public License version 2 only (LICENSE.txt).
 * Gayathri font: Copyright 2023 The Gayathri Project Authors (https://gitlab.com/
   smc/fonts/gayathri), SIL Open Font License 1.1.

## Screenshots

[⌊A Sanskrit verse read in Malayalam. The English around it is left as written.⌉⌊
A Sanskrit verse read in Malayalam. The English around it is left as written.⌉[

A Sanskrit verse read in Malayalam. The English around it is left as written.

[⌊On a phone the bar stays at the top of the screen; here the same page is read 
in Kannada.⌉⌊On a phone the bar stays at the top of the screen; here the same page
is read in Kannada.⌉[

On a phone the bar stays at the top of the screen; here the same page is read in
Kannada.

[⌊Settings: which scripts readers are offered, the default script, whether Sanskrit
mode starts checked.⌉⌊Settings: which scripts readers are offered, the default script,
whether Sanskrit mode starts checked.⌉[

Settings: which scripts readers are offered, the default script, whether Sanskrit
mode starts checked.

[⌊Where the bar sits, what to leave alone, Malayalam conjuncts, and a box to try
any text.⌉⌊Where the bar sits, what to leave alone, Malayalam conjuncts, and a box
to try any text.⌉[

Where the bar sits, what to leave alone, Malayalam conjuncts, and a box to try any
text.

## Installation

 1. Upload the `dhee-indic-transcriber` folder to `/wp-content/plugins/`, or install
    the zip from Plugins > Add New > Upload Plugin.
 2. Activate it.
 3. Optionally, visit Settings > Dhee Indic Transcriber to choose which scripts readers
    are offered, the default script, whether Sanskrit mode starts checked, and whether
    the bar sits at the top or the bottom.

## FAQ

### Why does Malayalam look different from the rest of my site?

Malayalam has two ways of drawing the same letters: traditional, with conjuncts 
stacked into one shape (സ്കൃ in സംസ്കൃതം), and reformed, with a visible chandrakkala
between them. Which one a reader sees depends only on the font, and most phones 
and computers draw the reformed one. The plugin draws Malayalam in Gayathri, a traditional-
orthography font by Swathanthra Malayalam Computing (SIL Open Font License, included
in `assets/fonts/gayathri`), for readers who choose Malayalam. Only Malayalam letters
change font. If you prefer your readers’ own fonts, untick “Draw Malayalam with 
its traditional conjuncts” in the settings.

The other scripts need nothing extra: the fonts readers already have stack Devanagari,
Bengali, Gujarati, Odia, Telugu and Kannada conjuncts properly, and Tamil and Gurmukhi
show the virama by convention.

### My theme’s fixed header covers the bar, or the bar covers it

Set the bar position to Bottom of the screen in Settings > Dhee Indic Transcriber.

### How do I keep part of a page in its original script?

Add the class `notranslate` or `itx-skip` to it, or list CSS selectors for it under“
Leave these alone” in the settings.

### Does it affect search engines?

No, unless you set a default script other than “As written”. Search engines see 
your text as you wrote it.

### Can I link to a page in a particular script?

Yes: add `?itx_script=tamil` to the address (and `&itx_sanskrit=0` for spoken mode).
The page opens in that script without changing the reader’s saved choice. The script
names are devanagari, bengali, gurmukhi, gujarati, odia, tamil, telugu, kannada,
malayalam and roman.

### Can I change the bar’s colours?

Yes, with CSS custom properties in your theme or under Appearance > Customize > 
Additional CSS:

    ```
    #indic-transcriber-bar { --itx-bg: #7c2d12; --itx-fg: #fff7ed; --itx-accent: #fde68a; }
    ```

The height is `--itx-height` on `:root` (44px by default).

### Can a script choose for the reader, or build its own switcher?

IndicTranscriber.choose(‘malayalam’) switches the page (pass `''` for the text as
written, and a second argument `false` for spoken mode). `IndicTranscriber.current()`
returns the choice, and `IndicTranscriber.refresh()` reconverts the page. The engine
itself is `SreeVidya.transliterate(text, 'malayalam', { sanskrit: true })`.

### Can I switch it off on some pages?

Yes, with a filter:

    ```
    add_filter( 'indic_transcriber_enabled', function ( $on ) { return $on && ! is_page( 'checkout' ); } );
    ```

### Does it work with page caching and JavaScript optimisation plugins?

Page caching, yes. If a plugin delays JavaScript until the visitor interacts, either
exclude `indic-transcriber` from that or turn off “Hide the page until it has been
converted”, or readers who have chosen a script will see a blank page for 1.5 seconds.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Dhee Indic Transcriber” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ dheeyantra ](https://profiles.wordpress.org/dheeyantra/)

[Translate “Dhee Indic Transcriber” into your language.](https://translate.wordpress.org/projects/wp-plugins/dhee-indic-transcriber)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/dhee-indic-transcriber/),
check out the [SVN repository](https://plugins.svn.wordpress.org/dhee-indic-transcriber/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/dhee-indic-transcriber/)
by [RSS](https://plugins.trac.wordpress.org/log/dhee-indic-transcriber/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.0

 * First release.

## Meta

 *  Version **1.0.0**
 *  Last updated **6 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 5.2 or higher **
 *  Tested up to **7.1.4**
 *  PHP version ** 7.2 or higher **
 * Tags
 * [hindi](https://wordpress.org/plugins/tags/hindi/)[indic](https://wordpress.org/plugins/tags/indic/)
   [malayalam](https://wordpress.org/plugins/tags/malayalam/)[transliteration](https://wordpress.org/plugins/tags/transliteration/)
 *  [Advanced View](https://wordpress.org/plugins/dhee-indic-transcriber/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/dhee-indic-transcriber/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/dhee-indic-transcriber/reviews/)

## Contributors

 *   [ dheeyantra ](https://profiles.wordpress.org/dheeyantra/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/dhee-indic-transcriber/)