Writing guide
How to type Bangla in Roman letters
176 pairs, straight out of the engine. Filter them, or read the group you need.
Every pair below came out of the engine itself, so what you read here is what you get. Why it works that way is on the about page.
-
Lowercase is short, uppercase is long
-
i - ই
-
I - ঈ
-
-
Consonants that meet bind
-
kt - ক্ত
-
kk - ক্ক
-
-
okeeps them apart-
kok - কক
-
amora - আমরা
-
Start with these nine
Type these and you can type Bangla. The rest of this page is detail, for the day you need it.
| Type | You get | Note |
|---|---|---|
| আমি | I | |
| তুমি | you; t is dental ত, T would be retroflex ট | |
| বাংলা | Bangla; ng is the anusvar ং | |
| ভাষা | language; Sh is ষ, sh is শ | |
| বই | book; lowercase oi is not ঐ, so this is ব + ই | |
| ভাত | rice; bh is ভ, and v works too | |
| ভালোবাসা | love; O is the long ও, so bhalO gives ভালো | |
| ধন্যবাদ | thank you; ny binds into the ন্য cluster | |
| ভাষা হোক আরও উন্মুক্ত | let the language be freer still |
Spellings that catch people out
Every one of these gives you real Bangla. That is what makes them awkward: nothing has gone wrong, you have just been handed a different letter from the one you meant.
Length is a capital, never a repeat: aa is আআ. And lowercase boi is বই where uppercase bOI is বৈ.
| Type | You get | Note |
|---|---|---|
| বির | lowercase i is the short vowel | |
| বীর | capital I is the long one; this is the word for hero | |
| যয় | the o ends the letter z, so y stays a separate য় | |
| আয় | lowercase ay is আ plus য় | |
| বৈ | uppercase OI is the ঐ diphthong; lowercase boi was ব + ই | |
| রয়া | r refuses the ya-phola, so this stays র plus য়া | |
| আআ | doubled vowels are not long-vowel shortcuts | |
| কাআ | they compose exactly as typed | |
| তীয় | after a short i, iyw is the long ঈয় signal | |
| জাতীয়তা | nationality |
Vowels on their own
The shape a vowel takes at the start of a word, or standing alone.
The capital carries meaning in i/I, u/U and o/O. In a and e it does not; the uppercase is accepted because people type it that way.
| Type | You get | Note |
|---|---|---|
| অ | the inherent vowel, typed on its own | |
| আ | A gives the same letter | |
| আ | uppercase A is the same আ | |
| ই | short i | |
| ঈ | long i; capital letter, long vowel | |
| উ | short u | |
| ঊ | long u; capital letter, long vowel | |
| এ | E gives the same letter | |
| এ | uppercase E is the same এ | |
| ঐ | capital O plus capital I | |
| ও | the long o | |
| ঔ | capital O plus capital U | |
| ঋ | vocalic r; one signal, not r plus r plus i | |
| অ্যা | the অ্যা vowel; AY is the same | |
| অ্যা | uppercase form of aY |
Vowels after a consonant
The same vowels, attached. ক is the carrier here; every consonant behaves the same way.
A consonant on its own already carries the inherent অ. You type something to get rid of that vowel, not to get it.
| Type | You get | Note |
|---|---|---|
| ক | a bare consonant already carries the inherent অ | |
| কা | the আ-কার | |
| কি | the ই-কার | |
| কী | the ঈ-কার | |
| কু | the উ-কার | |
| কূ | the ঊ-কার | |
| কে | the এ-কার | |
| কৈ | the ঐ-কার | |
| কো | the ও-কার | |
| কৌ | the ঔ-কার | |
| কৃ | the ঋ-কার | |
| ক্যা | the ্যা shape; kAY is the same |
Consonants
Grouped the way Bangla groups them, so the pattern shows: unaspirated, aspirated, and the nasal at the end of each row of five.
Lowercase is dental or palatal, uppercase retroflex. An h aspirates, so k is ক and kh is খ.
Two letters do double duty: y and w stand alone here and turn into phola marks after a consonant, which is its own section below.
| Type | You get | Note |
|---|---|---|
| ক | ka | |
| খ | kha; Kh and KH also work | |
| গ | ga | |
| ঘ | gha; Gh and GH also work | |
| ঙ | the velar nasal, capital N plus g | |
| চ | ca; a single c, not ch | |
| ছ | chha; chh, C, Ch, CH, Chh and CHH all work | |
| জ | ja; J also works | |
| ঝ | jha; Jh and JH also work | |
| ঞ | the palatal nasal, capital N plus capital G | |
| ট | retroflex ta; capital T | |
| ঠ | retroflex tha; TH also works | |
| ড | retroflex da; capital D | |
| ঢ | retroflex dha; DH also works | |
| ণ | retroflex na; capital N | |
| ত | dental ta; lowercase t | |
| থ | dental tha | |
| দ | dental da; lowercase d | |
| ধ | dental dha | |
| ন | dental na; lowercase n | |
| প | pa | |
| ফ | pha; f also works | |
| ব | ba | |
| ভ | bha; v also works | |
| ম | ma | |
| য | ya; z is the letter itself, y is the phola | |
| র | ra | |
| ল | la | |
| শ | palatal sha; S also works | |
| ষ | retroflex sha; SH also works | |
| স | dental sa | |
| হ | ha | |
| ড় | the dotted ra | |
| ঢ় | the aspirated dotted ra | |
| য় | standalone, y is য়; after a consonant it is the ya-phola | |
| ওয় | standalone, w is the ওয় glide; after a consonant it is the ba-phola |
Shortcuts, and what capitals do
f stands in for ph, v for bh, S for sh. People type them that way, so they are in the scheme.
Phones capitalize the first letter of a sentence whether or not you asked, so a capital with no meaning of its own falls back to its lowercase reading. Eleven carry a meaning instead, and two of those catch people: R is ড় where r is র, and C is one of the ways to write ch.
| Type | You get | Note |
|---|---|---|
| ফ | stands in for ph | |
| ভ | stands in for bh | |
| শ | stands in for sh | |
| খ | titlecase form of kh | |
| খ | all-caps form of kh | |
| ছ | all-caps form of chh | |
| য় | same as y, except in aY, which is the অ্যা vowel | |
| বিজ্ঞান | autocapitalized input still works: capital B falls back to b | |
| খেলা | capital K falls back to k |
The inherent vowel, and when to type o
Between two consonants, o keeps them apart: kok is কক where kk is ক্ক. Before a cluster it is the inherent vowel of the letter in front of it.
For a visible ও there instead, use the capital: kOk is কোক.
| Type | You get | Note |
|---|---|---|
| ক্ক | two consonants in a row bind into a conjunct | |
| কক | lowercase o between them keeps them apart | |
| কোক | uppercase O writes a visible ও-কার instead | |
| আমরা | without the o this would be আম্রা | |
| নমস্কার | the o after n and after m keeps each letter separate | |
| ভক্ত | o before a cluster is the inherent vowel, not a separator | |
| শক্তি | same pattern |
Conjuncts (যুক্তবর্ণ)
Type the consonants in order and the hasant is implied. Three in a row need nothing special either: ndr is ন্দ্র.
An o ends a cluster the same way it keeps two consonants apart, so ndor is ন্দর.
| Type | You get | Note |
|---|---|---|
| ক্ত | the commonest conjunct | |
| ক্ষ | k plus retroflex sha | |
| ন্দ্র | three consonants bind in order | |
| ন্ত্র | ntr gives the same cluster; at the end there is nothing left to close | |
| ছাত্র | student | |
| প্রশ্ন | question | |
| বন্ধু | friend | |
| স্বাধীন | free, independent |
য-ফলা and ব-ফলা
The two phola marks are y and w, and they act as phola only when a consonant comes before them. z and b stay the whole letters য and ব, so you can write য্য as zy.
The ya-phola composes onto a whole cluster, so loanwords work: plYan is প্ল্যান. Four bases refuse it: r, R, Rh and Ng.
| Type | You get | Note |
|---|---|---|
| ক্য | y after a consonant is the ya-phola | |
| ক্ব | w after a consonant is the ba-phola | |
| য্য | the base letter z plus the ya-phola | |
| ব্ব | the base letter b plus the ba-phola | |
| ম্ব | m plus ba-phola | |
| ম্ব্র | and a third consonant after it | |
| স্বপ্ন | dream | |
| জ্যামে | stuck in traffic | |
| প্ল্যান | the ya-phola composes onto any cluster | |
| ব্ল্যাক | same, for loanwords | |
| ফ্ল্যাট | same | |
| কয | z stays the plain letter য, no conjunct | |
| কব | b stays the plain letter ব, no conjunct |
Reph
A doubled r before a consonant writes the reph, the hook that sits above the letter. rm is রম, two letters; rrm is র্ম, one.
It will sit over a whole cluster too, so rrkSh gives র্ক্ষ.
| Type | You get | Note |
|---|---|---|
| র্ক | double r before a consonant is the reph | |
| র্ম | reph over ম | |
| কর্ম | work | |
| সর্ব | all | |
| র্ক্ষ | the reph sits over a whole cluster | |
| তূর্য | trumpet | |
| কিবোর্ড | keyboard |
Anusvar, ঙ, and the rest of the nasals
ng is the anusvar ং, and it is the common case. Ng is the consonant ঙ. ngg and nggh are shorthand for the clusters ঙ্গ and ঙ্ঘ.
Where that shorthand is not what you want, a capital M forces a literal anusvar. And ঞ্জ, if that is what you came for, is nj.
| Type | You get | Note |
|---|---|---|
| বাংলা | ng is the anusvar | |
| সংকেত | signal | |
| অঙ্ক | Ng is the velar nasal consonant ঙ | |
| বাঙালি | Bengali | |
| বঙ্গ | ngg is shorthand for the ঙ্গ conjunct | |
| ঙ্ঘাত | nggh is shorthand for ঙ্ঘ | |
| সংগ | capital M forces a literal anusvar before g | |
| সংঘ | same, before gh | |
| ঞ্জ | the ঞ্জ cluster | |
| ঞ্জ | the same cluster, spelled out | |
| জিঞ্জিরা | a Dhaka place name |
জ্ঞ
Written জ plus ঞ and pronounced like neither, so there are three ways in and all three land in the same place. Spell it out as jNG, shorten it to jn, or type the sound most people actually make, gg.
| Type | You get | Note |
|---|---|---|
| জ্ঞ | the two letters, spelled out | |
| জ্ঞ | shorthand | |
| জ্ঞ | shorthand by pronunciation | |
| জ্ঞান | knowledge | |
| বিজ্ঞান | science |
Chandrabindu and bisarga
^ writes the chandrabindu and goes after the vowel it nasalizes. qq is a second route to the same mark.
: writes the bisarga. The colon is claimed, so there is no way to type an ASCII colon through the engine.
| Type | You get | Note |
|---|---|---|
| কাঁ | the caret writes chandrabindu | |
| বাঁকা | bent | |
| হাঁস | duck | |
| চাঁদ | moon | |
| কুঃ | the colon writes bisarga | |
| দুঃখ | sorrow | |
| ঁ | an alternative chandrabindu signal |
Bangla numerals, the taka sign, and the dari
Latin digits become Bangla numerals, and the dollar key writes the taka sign.
The full stop gets it right without being told: between digits it stays a decimal point, at the end of a sentence it becomes the dari. Numerals take no vowel marks and join no conjuncts.
| Type | You get | Note |
|---|---|---|
| ০১২৩৪৫৬৭৮৯ | Latin digits become Bangla numerals | |
| ৳ | the dollar key writes the taka sign | |
| ৳৫০০ | taka and digits together | |
| আমি। | a full stop becomes the dari | |
| ১২.৩৪ | a decimal point between digits stays a point | |
| ১২.৩৪। | and a closing full stop still becomes a dari |
English letters and loanwords
q and x have no Bangla sound of their own, and neither is left as Latin. Each takes the convention Bangla writing already settled on: q is ক and x is the ক্স cluster.
Standing alone, w is the ওয় glide, and aY is the অ্যা most borrowed words need.
rZy is a narrow signal with one job. It writes the ZWNJ-separated র্য used in spellings like র্যাব, which is a different shape from the true conjunct র্য. Z rewrites nothing else, and it is the one letter the engine hands back as Latin.
| Type | You get | Note |
|---|---|---|
| ক | q has no Bangla sound of its own; it settles on ক | |
| ইরাক | Iraq | |
| কাতার | Qatar | |
| ক্স | x becomes the ক্স cluster | |
| বক্স | box | |
| ফিক্স | fix | |
| কক্সবাজার | Cox's Bazar | |
| ওয় | standalone w is the ওয় glide | |
| ওয়াটার | water | |
| অ্যাপ | app | |
| র্যাব | rZy writes the ZWNJ-separated র্য used in loanword spellings |
Writing the hasant yourself
Two commas write a bare hasant, for when you want the mark visible or want a boundary the automatic rules would not choose.
A hasant kills the inherent vowel, so it needs one to kill. After an explicit kar there is nothing left to remove and the signal is dropped.
| Type | You get | Note |
|---|---|---|
| ্ | two commas write a bare hasant | |
| ক্ | a dead consonant | |
| ক্ক | the same conjunct as kk, typed explicitly | |
| ক্য | the same as ky, typed explicitly | |
| ন্দ্র্ | a cluster ending in a visible hasant |
খণ্ড ত
You will rarely type this one by hand, because ts already composes it. Reach for the explicit form at the end of a word, where nothing follows to trigger it: t and two backticks.
| Type | You get | Note |
|---|---|---|
| ৎ | t followed by two backticks | |
| ৎ | uppercase T also works | |
| উৎসব | festival; ts composes the same way | |
| বিদ্যুৎ | electricity | |
| র্ৎ | reph over khanda ta |
Try it
The real engine, running in your browser. It follows the rules on this page and nothing else: no corrections, no next-word suggestions, and nothing you type goes anywhere.
The engine’s own playground, which adds corrections and next-word suggestions on top, is at obadh.unmukto.org/playground. If something here gives you a letter you did not expect, what makes a report reproducible is on the contribute page.
If the box hands your letters back unchanged
The box changes a whole line or none of it. One character it does not accept, and the line comes back exactly as you typed it. The usual cause is punctuation a phone or a word processor put in for you: the em dash, the en dash, curly quotation marks, the single-character ellipsis. Plain ASCII punctuation is fine.
You will not meet this while typing on the keyboard, which commits one word at a time and takes punctuation separately. It shows up in the box above, in the playground, and in anything scripted around the command-line tool.
If you are coming from Avro
Most people reading this learned to type Bangla on Avro Phonetic, and most of what you know transfers unchanged, including x, q, v, f, S, gg, ng and NG, the $ taka sign, the ^ chandrabindu, the , hasant, and a full stop at the end of a sentence. Consonants that meet still bind, o still writes the inherent vowel, and a doubled r still writes the reph. Avro settled most of it, and what Avro settled is now simply how Bangla is typed.
Four things are spelled differently. An alias is added to the scheme only where there is a phonetic, orthographic or ergonomic reason for it, so the list is short.
Long vowels are capitals, not doubled letters. Avro Phonetic maps ee to ঈ and oo to উ. Obadh reads a doubled vowel as two vowels, so ঈ is I and ঊ is U. This is the habit worth changing first: it is the one that bites inside the first sentence.
The diphthongs are capitals too. OI is ঐ and OU is ঔ. Lowercase oi is two vowels in a row, so boi is বই and bOI is বৈ.
On its own, w is ওয়. That is what loanwords want: waTar is ওয়াটার. Avro Phonetic maps a bare w to ও. After a consonant the two agree, and kw is ক্ব in both.
খণ্ড ত has its own signal. Inside a word a t before an s composes it. Where it ends a word, type t and two backticks: hoThat`` is হঠাৎ.
Avro behavior here was read from OmicronLab’s pyAvroPhonetic in August 2026. Avro Phonetic has no published specification, so this describes that rule set and not every keyboard that has adopted the scheme.
Obadh is not Avro-compatible and does not claim to be. If a word comes out in a shape you did not expect, this page is the reference, and the whole scheme is short enough to read in one sitting.