Bharati Braille Converter has been built by Pareidolic. You can read the story of why we built it in Pooja's words and Nirbheek's.

All the documentation and text in this project is licensed under CC-by-NC-SA, and the Python, JS, HTML, and CSS files are licensed under AGPL-3. Feel free to write to us at talk[at]pareidolic[dot]in to tell us about any inconsistencies or errors that you may find, your feedback, or recommendations about which Indian script we should work on next. If you would like to contribute to this project, see how here. And in case you decide to build something new using this converter, do drop in a line!

How it works

Braille is a tactile writing system used by the blind and visually-impaired. Each character (or number or symbol) is represented in Braille by selectively raising dots in a 2×4 grid. Bharati Braille is a largely unified system devised to write the languages spoken and read in India. This converter transforms Hindi and Marathi text in the Devanagari script to Bharati Braille based on the rules outlined in Bharati Braille Shikshak, a publication by India’s National Association for the Blind. The converter does not perform Braille typesetting. The table below shows the mapping of the basic character set:



Of course, the conversion is not as straightforward as a simple mapping and the Bharati Braille system has several limitations. It uses only the top six dots of the 2×4 grid, and thus has only 63 (the 64th one is an empty cell and used to denote a space) different Braille cells to represent the alphabet, numbers and any other symbols. As a result, the same cell is often used to represent more than one entity, and the meaning is made clear by the context in which it is used. The converter takes these idiosyncrasies into consideration and attempts to make the translation between Devanagari and Bharati Braille as accurate as possible. It should be noted, that while the converter is good for translating long texts, in its current avatar it is not suitable for mathematical content. A heavily-commented, human-readable version of the script used by the converter can be found here.

Limitations of Bharati Braille

Re-use of the same cells for vowels and vowel signs
Every vowel and its corresponding vowel sign or matra is represented by only a single Braille cell, not two different glyphs like Devanagari. This makes the transcription of words with a full vowel in the middle or end erroneous if the preceding consonant does not have an explicit vowel attached to it. Bharati Braille solves this problem by indicating the inherent schwa vowel (अ) explicitly in such cases. Without this workaround, there would be no way to differentiate between words like बंबई and बंबी.

Re-use of cells for numbers and letters
Numerals use the same Braille cells that the alphabet do and use a special Braille numeral sign before them so that they can be identified.

Limited support for consonants with a nukta
Only two consonants with nuktas, ड़ and ढ़, are assigned separate cells in Bharati Braille. As a result, all other such consonants are swapped out by their base forms by the converter.

Limited support for punctuation signs
Bharati Braille assigns cells only to a limited set of punctuation signs. And even for some of these, braille cells used for Devanagari signs are re-used. Below is the list of supported punctuation:

, ; : ! ?
⠠⠦ ⠴⠄
) and (
⠠⠶ ⠶⠄ ⠤⠤ ⠤⠤⠤⠤
[ ] -
⠠⠠⠠ ⠔⠔

Unassigned Devanagari glyphs
Several glyphs that are encoded in the Unicode range 0900–097F reserved for Devanagari remain unassigned in Bharati Braille. These include characters used for transcribing Dravidian sounds and letters belonging to Kashmiri and Sindhi languages. In addition, no characters from the Devanagari Extended and Vedic Extensions Unicode charts are assigned cells in Bharati Braille.

Limitations of the Converter

Not suitable for mathematical content
In its current form, this Devanagari to Bharati Braille Converter is not suitable for mathematical content. If your text contains numerals, they will be converted to Bharati Braille, however any mathematical operators, such as +, −, ×, ÷, = or %, will not be. If your text does contain any of these (or other operators), an error message will be displayed.

Handling of dumb and smart quotes
Bharati Braille has provision for Latin smart quotes (single and double), but not for dumb quotes. The converter cannot accept dumb quotes and intelligently substitute them with the correct Braille smart quotes based on context of use. If there are dumb quotes in your text, they will not be converted and an error message highlighting their presence will be displayed.