Bengali orthography notes

Updated 2 February, 2023

This page brings together basic information about the Bengali script and its use for the Bangla language. It aims to provide a brief, descriptive summary of the modern, printed orthography and typographic features, and to advise how to write Bengali using Unicode.


Select part of this sample text to show a list of characters, with links to more details. Source
Change size:   28px

ধারা ১ সমস্ত মানুষ স্বাধীনভাবে সমান মর্যাদা এবং অধিকার নিয়ে জন্মগ্রহণ করে। তাঁদের বিবেক এবং বুদ্ধি আছে; সুতরাং সকলেরই একে অপরের প্রতি ভ্রাতৃত্বসুলভ মনোভাব নিয়ে আচরণ করা উচিত।

ধারা ২ এ ঘোষণায় উল্লেখিত স্বাধীনতা এবং অধিকারসমূহে গোত্র, ধর্ম, বর্ণ, শিক্ষা, ভাষা, রাজনৈতিক বা অন্যবিধ মতামত, জাতীয় বা সামাজিক উত্‍পত্তি, জন্ম, সম্পত্তি বা অন্য কোন মর্যাদা নির্বিশেষে প্রত্যেকের‌ই সমান অধিকার থাকবে। কোন দেশ বা ভূখণ্ডের রাজনৈতিক, সীমানাগত বা আন্তর্জাতিক মর্যাদার ভিত্তিতে তার কোন অধিবাসীর প্রতি কোনরূপ বৈষম্য করা হবেনা; সে দেশ বা ভূখণ্ড স্বাধীন‌ই হোক, হোক অছিভূক্ত, অস্বায়ত্বশাসিত কিংবা সার্বভৌমত্বের অন্য কোন সীমাবদ্ধতায় বিরাজমান।

Usage & history

The Bengali or Bangla script is used by over 180 million people in Bangladesh and India to write the Bengali language, and a number of other Indian languages including Sylheti, Meithei, Bishnupriya Manipuri, and, with one or two modifications, Assamese. It has historically been used to write Sanskrit within Bengal. It ranks 5th in the world for writing system usage.

বাংলা বর্ণমালা bɑŋ̽lɑ br͓n̈mɑlɑ (bangla bôrnômala) Bengali/Bangla alphabet বাংলা লিপি bɑŋ̽lɑ lipi (bangla lipi) Bangla script

The script is descended from Brahmi, but there is some dispute about its derivation, since it shares shapes with both Dravidian and Aryan scripts.

Sources: Scriptsource, Wikipedia

Basic features

The Bengali script is an abugida. Consonants carry an inherent vowel which can be modified by appending vowel signs to the consonant. See the table to the right for a brief overview of features for Bangla.

The orthographic letters of the Bengali script are derived from Sanskrit, and in some cases don't quite fit the needs of modern Bangla (eg. lack of simple vowels for the sounds ɛ and æ, letters for only 2 of many diphthongs, long and short letters where pronunciation no longer distinguishes those sounds, etc.)

Bengali runs left to right in horizontal lines.

Words are separated by spaces.

The 33 consonant letters used for Bangla are supplemented by repertoire extensions for 3 more sounds by applying the nukta diacritic to characters ❯ consonants

Consonant clusters at any location are normally indicated using a virama (hasant) between consonants. This results in a large number of conjunct forms expressed using stacked consonants, conjoined consonants, and ligated glyphs. Conjuncts often have different pronunciations than might be expected from the letters involved, and in particular gemination is very common. Occasionally, a visible virama is used. However, clusters are often not marked at all. ❯ clusters

As part of a cluster, RA has special forms, for both cluster-initial and post-base positions.

Word-final consonant sounds may be represented by a special letter, , or by 2 dedicated combining marks (anusvara & visarga), but are generally ordinary consonants that are not marked by a virama. ❯ finals

Vowel harmony plays a significant role in the pronunciation of vowel-related code points. ❯ vowelharmonydesc

The Bangla orthography has 2 inherent vowels, and represents other vowels using 9 vowel signs, including 3 pre-base and 2 circumgraph vowel signs. All vowel signs are combining marks, and are stored after the base character. Other vowels are represented by adaptations of the y consonant. The final sound of numerous diphthongs is represented using independent vowels. ❯ vowels

There are no composite vowels, in principle, however the 2 circumgraphs are decomposed into 2 parts each.

Bengali has 10 independent vowels, one for each vowel sound, including the inherent vowel, and these are used to write all standalone vowel sounds. ❯ standalone

Vowels may be nasalised, using the candrabindu diacritic. ❯ nasalisation

Bengali has native digit shapes. ❯ numbers

Character index



Basic consonants


Extended consonants


Independent vowels





Combining marks


Vowel signs







Not used for Bangla










Not used for Bangla



Items to show in lists


Click on the sound groups to see where else in the document each of the sounds are referred to.

Phones in a lighter colour are non-native or allophones. Source Wikipedia.

Vowel sounds

Plain vowels

i ĩ i ĩ u ũ u ũ ʊ e e o õ o õ ɛ ɛ̃ ɛ ɛ̃ ɔ ɔ̃ ɔ ɔ̃ æ æ a ã a ã


There are a large number of diphthongs in Bangla, and the chart below shows an incomplete set.wp

ii̯ iu̯ ii̯ iu̯ ui̯ ui̯ ei̯ eu̯ ei̯ eu̯ oi̯ ou̯ oe̯ oo̯ oi̯ ou̯ oe̯ oo̯ ɛe̯ ɛe̯ ɔe̯ ɔo̯ ɔe̯ ɔo̯ æe̯ æo̯ æe̯ æo̯ ai̯ au̯ ae̯ ao̯ ai̯ au̯ ae̯ ao̯

Vowel harmony

The pronunciation of a vowel can be affected by the vowel in the following syllable. Radice provides the following table, though this is a simplification and there are many exceptions.

Followed by i or u Followed by ɔ, o, e or a
o → u o → ɔ
ɔ → o u → o
e → i e → æ
æ → e i → e

For example, the verb শোনা ʃonɑ to hear with an i ending becomes ʃuni, দেখা dækʰa to see becomes dekʰi, etc. This sometimes accounts for the pronunciation of the inherent vowel, eg. অতিথি otitʰi guest and অনুবাদ onubad translation start with o rather than ɔ.

Consonant sounds

labial dental alveolar post-
retroflex palatal velar glottal
stops p b t d     ʈ ɖ   k ɡ  
aspirated pf     ʈʰ ɖʰ   ɡʰ  
affricates       t͡ʃ d͡ʒ        
aspirated       t͡ʃʰ d͡ʒʰ        
fricatives f   s z ʃ       ɦ h
nasals m   n       ŋ
approximants w   l     j  
trills/flaps     r ɾ   ɽ
aspirated         ɽʰ

pf, and f are alternative pronunciations for the same phoneme, depending on where the speaker is from, and all are written using [U+09AB BENGALI LETTER PHA],

True retroflex (murdhonno) consonants are not found in Bengali. They are apical postalveolar in Western Dialects. In other dialects, they are fronted to apical alveolar.wp

r occurs word-initially, whereas ɾ occurs medially and finally. Both sounds are written using [U+09B0 BENGALI LETTER RA].wp

s and ʃ are often merged. z is found mainly in foreign words.wp

In the Bangla spoken in Dhaka, ɾ and ɽ are often indistinct phonemically,wp eg. the following two words can be homophonous: করা কড়া

j and w are pronunciations of য় [U+09AF BENGALI LETTER YA + U+09BC BENGALI SIGN NUKTA] when it appears between certain vowels.


The effective unit of the Bengali writing systems is the orthographic syllable.

An orthographic syllable can be defined in one of the code point sequences described below. Lowercase letters represent combining characters. Some vowel signs may be displayed at the start of the sequence, although the code points representing them always appear after the base consonant

Consonant-based orthographic syllables

[C[n]h] [C[n]h] C[n] [h | v (n)] [f]

Consonant followed by nukta.
Vowel sign.
Nasalisation diacritic (candrabindu).
Final consonant (one of khanda ta, anusvara, or visarga).

The core of a consonant-based syllable is a base consonant character, which may or may not additionally represent an inherent vowel if it stands alone.

There is no inherent vowel if it is followed by a vowel sign, eg. কী কি ki কো ko or hasant, eg. ক্ At the end of a word, there may or may not be an inherent vowel, even if there is no hasant.

Any base consonant may be a combination of consonant code point plus nukta.

The base consonant can be preceded by up to two consonant+hasant pairs (where the consonant may also be a combination of consonant+nukta), but only if those consonants form conjuncts (ie. the hasant is invisible), eg. ক্ক k͓k ম্প m͓p ক্ষ k͓ʃ̇ ন্ত্র n͓t͓r If the preceding consonants carry visible hasant symbols, those are treated as separate orthographic syllables.

Likewise, the variable use of the hasant in Bengali means that a phonetic cluster of consonants can constitute a larger series of orthographic syllables. For example, this word for cymbal has two phonetic syllables, but 3 orthographic since the rt combination is not combined: করতাল

A vowel sign may optionally be followed by a nasalisation diacritic.

Unless the base consonant is followed by a hasant, the syllable may be terminated by a final consonant repesented by khanda ta, anusvara, or visarga.

Conjunct positions. Native Bengali words do not allow initial consonant clusters, and word-final clusters are rare. However, words borrowed from Sanskrit, English, etc. have introduced many such features.

Many Bengali speakers, however, retain the native phonology, even when using Sanskrit or English borrowings, such as গেরাম gerɑm (CV.CVC) for গ্রাম g͓rɑm village (CCVC), or ইস্কুল ịʃ͓̈kul (VC.CVC) forস্কুল ʃ͓̈kul school.wp,#Consonant_clusters

Most word-final clusters were introduced from English, eg. লিফ্ট lipʰ͓ʈ lift, elevator or ব্যাংক b͓ʲɑŋ̽k bank. In some dialects, a final nasal+stop is written as a cluster, whereas in standard Bengali it would use nasalisation, eg. চান্দ cɑn͓d vs. চাঁদ cɑm̽d moon.wp,#Consonant_clusters

For more information, see Wikipediawp,#Consonant_clusters.

Vowel-based orthographic syllables

Vowel-based syllables begin with a standalone vowel, which is represented by a single independent vowel or vocalic.

An independent vowel may be followed by an anusvara, visarga or candrabindu (nasalisation), eg. উঃ, আঁ ụh̽, ɑm̽


Inherent vowel

kɔ ~ ko U+0995 BENGALI LETTER KA

The inherent vowel is typically transcribed as a, and pronounced as ɔ or o. (And sometimes halfway between these two, when influenced by surrounding sounds.) Bengalis are not always aware of these sound differences – thinking of this as one sound. So or ko are written by simply using the consonant letter.

There is also a vowel sign pronounced o. This can lead to inconsistent spellings, eg. bhalo, good, well, can be spelled either ভালো or ভাল. Verb forms tend to be particularly inconsistent, sometimes basing the rationale on what looks good in a particular context.

The rules for determining the sound of the inherent vowel are not simple. Partly it is a question of vowel harmony. The following two tendencies can help:

Other vowels

Non-inherent vowel sounds that follow a consonant are represented using vowel signs.

Bengali vowel signs are nearly all combining characters. One consonant is also used in a special configuration described below. In principle a single character is used per base consonant, but 2 vowel signs decompose to more than one character (see circumgraphs). All vowel signs are typed and stored after the base consonant, whether or not they precede it when displayed. The glyph rendering system takes care of the positioning at display time.

An orthography that uses vowel signs is different from one that uses simple diacritics or letters for vowels, in that the vowel signs are generally rendered relative to an orthographic syllable, rather than just applied to the letter of the immediately preceding consonant (see prebase_vowels for an example).

Almost all of the vowel signs are spacing combining characters, meaning that they consume horizontal space when added to a base consonant.

See also vowelligatures and vocalics.

Combining marks used for vowels


Bangla uses the following dedicated combining marks for vowels.

ি␣ী␣ু␣ূ␣ে␣ো␣া␣ ␣ৈ␣ৌ

Bengali has lost the distinction between short and long vowels in pronunciation, but retains the difference in spelling.

The variation in pronunciation for the vowel signs can often be explained by vowel harmony.

    [U+09CB BENGALI VOWEL SIGN O] was originally pronounced ʊ, and that pronunciation sometimes persists alongside the o that came from Sanskrit, eg. নোংরা

Pre-base vowel signs

কে ke U+0995 BENGALI KA + U+09C7 VOWEL SIGN E

Three vowel signs appear to the left of the base consonant letter or cluster.

ি␣ে␣ ␣ৈ

These combining marks are always stored after the base consonant, ie. the codepoints follow the order in which the items are pronounced. The rendering process places the glyph before the base consonant without changing the code points. Click on the following word to see the sequence of characters in storage.


The vowel sign is actually placed before the start of an orthographic syllable. In fig_prebase the sequence of glyphs for the orthographic syllable is rendered VCC, whereas the pronunciation is CCV. In conjuncts with 3 consonants, it will still be rendered before all the consonants.

ব্যক্তি ব্যক্তি
Two examples of a prebase vowel, pronounced after a consonant cluster, but rendered to the left of the conjunct.



However, if the cluster doesn't form a conjunct, or is split by a visible virama, the cluster becomes two orthographic syllables and the pre-base vowel sign appears after the last consonant with the virama. The sequence of displayed glyphs is now CVC. If the conjunct contains 3 consonants, the displayed order will be CCVC.

ব্যক্তি ব্যক্তি
Two examples of a the same prebase vowel, pronounced after consonant clusters that don't form conjuncts, and rendered to the left of the last consonant in the cluster.





Two vowels are represented by circumgraphs, producing glyphs on opposite sides of the consonant onset.

ো␣ ␣ৌ

Like pre-base glyphs, these are combining marks that are always stored after the base consonant. The rendering process places the glyphs around the base consonant, as needed. Click on the following word to see the sequence of characters in storage.


Again, like pre-base vowel signs, in Bangla the circumgraph surrounds the whole consonant cluster that is rendered as a conjunct.

The circumgraph U+09CB BENGALI VOWEL SIGN O is rendered on two sides of the consonant stack.


These circumgraph vowel signs are normally a single code point, but in decomposed text the base consonant can be followed by two code points , eg. compare the following equivalent ways of writing ko:




An example of precomposed (top) and decomposed (bottom) approaches to circumgraph vowels.

Consonants used for vowels



When it occurs as the last member of a consonant cluster [U+09AF BENGALI LETTER YA] has a special shape seen in orange in fig_yophala, and is called ʤɔ-pfɔlɑ (য-ফলা). One of its functions is to create the sound æ.

The sound æ, created with the sequence ্যা [U+09CD SIGN VIRAMA + U+09AF LETTER YA + U+09BE VOWEL SIGN AA].


There are exceptions to the previous rule, when the a-kar produces its normal value, eg. ব্যাখ্যা


The sound æ can also be produced when there is no vowel sign, eg. ব্যথা bætʰɑ pain

According to Radice, vowel harmony may phonetically produce e when the following syllable is i.

Unusually for Indian scripts, y̌ɔ-phɔla can also be used after independent vowels to create the standalone sound æ. The sequences অ্যা [U+0985 BENGALI LETTER A + U+09CD SIGN VIRAMA + U+09AF LETTER YA + U+09BE VOWEL SIGN AA] and এ্যা [U+098F BENGALI LETTER E + U+09CD SIGN VIRAMA + U+09AF LETTER YA + U+09BE VOWEL SIGN AA] are used mostly in transliterations of borrowed words, eg. অ্যাটর্নি এ্যাডভোকেট

See also composite_vowels, which explains how independent vowels are used for the off-glide of diphthongs.

Composite vowels & diphthongs

কেউ keu̯ U+0995 BENGALI KA + U+09C7 VOWEL SIGN E + U+0989 VOWEL LETTER U

Composite vowels in Bengali may occur when [U+09CB BENGALI VOWEL SIGN O] and [U+09CC BENGALI VOWEL SIGN AU] are decomposed, however this is not common. See encoding for more details.

Although 2 of the vowel signs (and independent vowels) represent diphthongs (oi̯ and ou̯) with a single code point, most of the many diphthongs are represented by a sequence of vowels,wa,#Vowels eg. কেউ

Diphthongs typically represent the off-glide using one of the following:

The following are examples of diphthongs. Hyphens indicate a consonant with inherent vowel. The detailed character notes contain examples of Bangla words containing the diphthongs shown.

িই␣ুই␣েই␣ৈ␣-ই␣াই␣ ␣িউ␣েউ␣ৌ␣াউ␣ ␣-য়␣ায়␣ ␣-ও␣াও

Standalone vowels

ই␣ঈ␣উ␣ঊ␣এ␣ও␣অ␣আ␣ ␣ঐ␣ঔ

Bengali represents syllable-initial vowels using a set of independent vowel letters, eg. ওস্তাদ উট ঔষুধ

Standalone æ appears mostly in loan words. It involves the use of [U+09AF BENGALI LETTER YA]. See consonant_vowels for more details.

Vowel elongation

[U+09BD BENGALI SIGN AVAGRAHA] is a Sanskrit-derived symbol that is used in modern Bengali to lengthen vowel soundsws, eg. কিঽঽঽ? kiiii Whaaatt? শুনঽঽঽ ʃunooo Listennn


[U+0981 BENGALI SIGN CANDRABINDU] nasalises the vowel in a syllable, eg. হ্যাঁ হাঁপান Nasalised vowels include ĩ ũ ẽ õ ɛ̃ ɔ̃ ã.

The candrabindu should be placed over the top of an independent vowel, but over the base consonant when a vowel sign is attached – not over the vowel sign. In the code point sequence, however, this should occur after any combining vowel sign associated with the same syllable. Note how the base consonant is identified correctly in the second word of fig_candrabindu, even though the candrabindu is 4 code points away. Some fonts do not position the candrabindu correctly.

হাঁপান হ্যাঁ
The candrabindu is positioned over the base consonant, even though it is the last code point in the syllable. (The arrow gives the approximate location of the code point. Click to see the code point sequence.)

Vowel absence

Bengali uses [U+09CD BENGALI SIGN VIRAMA] (called হসন্ত hʃ̈n͓t hasant hɔsonto in Bengali) to indicate that the inherent vowel is not pronounced after a consonant, eg. the following explicitly represents just the sound k.ক্

The hasant is rarely seen. It is not used at the end of a word even though the inherent vowel is pronounced at the end of some words and not others, eg. গরম gɔrôm, hot vs. গড়ান gɔɽɑnô, to roll. There is no real way to tell when the inherent vowel is pronounced and when not in this position, except that it is usually pronounced following a word-final consonant cluster.

Within a word also, some clusters don't use the hasant in Bengali, and the reader simply has to know that the inherent vowel is not pronounced, eg. করতাল

This is particularly common at morpheme boundaries, for example in verb forms.

Consonant clusters that are represented by conjunct forms use the hasant between consonants to invoke the shape changes. If the font has the glyphs needed to produce the conjunct the hasant is hidden (see clusters).

Refs: Radice 3, 7-8, 21, 148; Daniels 400

Vowel sounds to characters

This section maps Bengali vowel sounds to common graphemes in the Bengali orthography, grouped by whether they are vowel signs ( vs ), or standalone ( s ). Click on a grapheme to find other mentions on this page (links appear at the bottom of the page). Click on the character name to see examples and for detailed descriptions of the character(s) shown.

Hyphens indicate a consonant with inherent vowel.

Plain vowels




[U+09CB BENGALI VOWEL SIGN O] with vowel harmony before one of i u




[U+0993 BENGALI LETTER O] with vowel harmony before one of i u


[U+09C7 BENGALI VOWEL SIGN E], with vowel harmony before one of i u

ি [U+09BF BENGALI VOWEL SIGN I] with vowel harmony before one of ɔ o e a

্য [U+09CD BENGALI SIGN VIRAMA + U+09AF BENGALI LETTER YA] with the inherent vowel before i


[U+098F BENGALI LETTER E], with vowel harmony before one of i u

[U+0987 BENGALI LETTER I] with vowel harmony before one of ɔ o e a.


য় [U+09AF BENGALI LETTER YA + U+09BC BENGALI SIGN NUKTA] as part of a diphthong, esp after ɔ a o


Inherent vowel


[U+09C1 BENGALI VOWEL SIGN U] with vowel harmony before one of ɔ o e a



[U+0985 BENGALI LETTER A] with vowel harmony before one of i u

[U+0989 BENGALI LETTER U], with vowel harmony before one of ɔ o e a


Inherent vowel

[U+09CB BENGALI VOWEL SIGN O] with vowel harmony before one of ɔ o e a 



[U+0993 BENGALI LETTER O] with vowel harmony before one of ɔ o e a


[U+098F BENGALI LETTER E] with vowel harmony before one of ɔ o e a

Diphthongs and other combinations




Only one vocalic is in common use for modern Bangla. It is used in standalone and vowel sign forms, eg. বৃহৎ ঋতু

Three more vocalics, [U+098C BENGALI LETTER VOCALIC L], [U+09E0 BENGALI LETTER VOCALIC RR] and [U+09E1 BENGALI LETTER VOCALIC LL], are historic and only used to write Sanskrit in Bengali.



Basic consonants




ক্ষ [U+0995 BENGALI LETTER KA + U+09CD SIGN VIRAMA + U+09B7 LETTER SSA] is called khiyɔ and is often treated as a letter of the alphabet in that some dictionaries give it it's own section, eg. ক্ষুদ্র

Repertoire extension

[U+09BC BENGALI SIGN NUKTA] is used to create 3 additional letters, eg. the dot changes ɖ to ড় ɽ. Here is a list of graphemes that combine nukta with an existing consonant.

To reveal detailed notes about usage see the list of precomposed characters a little lower.


য় [U+09AF BENGALI LETTER YA + U+09BC SIGN NUKTA] represents j, w or , depending on what vowels occur alongside it. See the character notes for details.

The nukta should always be typed and stored immediately after the consonant it modifies, and before any combining vowels or diacritics.

The Unicode Standard recommends that content authors use decomposed sequences for these letters. However, the Unicode block also contains the precomposed code points shown below.


Decomposed sequences are not recomposed by Unicode Normalisation Form C (NFC).


Two more letters in the Unicode Bengali block are specifically for Assamese.


Final consonants

One letter and 2 diacritics represent syllable-final consonant sounds.


In a sequence of characters, these should all occur after any combining vowel sign associated with the same syllable. None carry vowel signs.

Khanda ta

[U+09CE BENGALI LETTER KHANDA TA], pronounced , is a variant form of [U+09A4 BENGALI LETTER TA] that was added to Unicode 4.1 as a separate character. This shape occurs in words where the consonant is not followed by an inherent or other vowel sound. It either comes at the end of words, or before a consonant that doesn't naturally combine with , eg. হঠাৎ উৎসব

This character replaces and obsoletes an earlier approach that required the use of the sequence ত্‍ [U+09A4 BENGALI LETTER TA + U+09CD BENGALI SIGN VIRAMA + U+200D ZERO WIDTH JOINER].

Many words, however, use [U+09A4 BENGALI LETTER TA] in the same situations, and it's not possible to guess which will be used for a given word, eg. হঠাত্


[U+0982 BENGALI SIGN ANUSVARA] is a final nasal ŋ, eg. বাংলা

Sometimes spelling is inconsistent, especially when this or [U+0999 BENGALI LETTER NGA] are used in a conjunct, eg. compare these pairs: সাঙঘাতিক সাংঘাতিক রঙ রং

However, in certain words the spelling is fixed. One such word is বাংলা But, since this cannot support vowel signs, the word for Bengali nation (rather than language) has to be spelled with [U+0999 BENGALI LETTER NGA], ie. বাঙালী bɑŋɑlī bɑŋgɑlī

See also the candrabindu diacritic, which nasalises a vowel.


When used to represent a word-final consonant, [U+0983 BENGALI SIGN VISARGA] produces vigorous final aspiration ɦ, eg. বাঃ

It doesn't appear in many common words.

One of the other uses of the visarga is to lengthen a following consonant, in which case there is no aspiration, eg. নিঃশব্দ

Consonant clusters

Consonant clusters are written using:

  1. No special rendering. This is a common occurrence in Bengali.
  2. Conjuncts. There are a number of possibilities here.
    1. Fused vertically : Reduce the component shapes and combine them vertically, usually approximately within the normal character height.
    2. Conjoined : The two consonants sit side by side, but the first consonant has an altered shape.
    3. Ligated : A fusion of the component letter shapes where it may be difficult to tell them apart.
    4. Special forms : These apply to cluster-final YA (y̌ɔ-phɔla), the letter RA, and cluster-final MA.
  3. A visible virama below the non-final consonants in the cluster. In Bengali this may be a conscious decision, and not just a gap in font support.
  4. Final consonant letters or marks followed by another consonant. There is no interaction between the finals and the following character (see finals).

See also consonant_length.

No special rendering

Unlike languages written in the Devanagari script, consonant clusters are often not represented as conjuncts in Bengali. It is necessary to just know that the vowel should not be pronounced, eg. রিকশা

Morphological boundaries, such as grammatical suffixes and endings are typically written without conjuncts, eg. the present tense form of khan plus negative suffix which is na is written খাননা

The stem kôr from kôra plus present continuous ending chô is written করছ

Conjunct formation

See a table of 2-consonant clusters.
The table allows you to test results for various fonts.

To produce a conjunct, [U+09CD BENGALI SIGN VIRAMA] is added between the consonants in the cluster. There are exceptions, but this type of virama is usually not displayed, eg. the sequence + + [U+0995 BENGALI LETTER KA + U+09CD SIGN VIRAMA + U+09B7 LETTER SSA] produces ক্ষ k͓ʃ̇

The font usually determines how a cluster is rendered, although it is possible to influence this (see formatting).

Different fonts may combine the same letters in different ways. The following figures shows characters that are combined in different ways by different fonts.

ল্গ ল্প হ্ব জ্ঝ ষ্ক হ্ণ ঞ্ঝ
Conjuncts composed in different ways by the Noto Sans Bengali font (top) and Solaimon Lipi font (bottom). (Click for list of code points.)

Quite often, clustered consonants are pronounced differently than you would expect. In particular, conjuncts ending with [U+09AC BENGALI LETTER BA] or [U+09AE BENGALI LETTER MA] tend to not pronounce the latter, but double the length of the consonant before it (see consonant_length).

Nasals in conjuncts tend to conform to phonological patterns. Velar consonants (k, kh, g, etc) combine with ŋɔ, palatal consonants (c, ch, ..) combine with ñɔ, retroflex ɳɔ, dental , and labial .

The sections below show examples of the various types of conjunct forms. The lists are not exhaustive. The shapes shown are by default those contained in the Noto Sans Bengali webfont. Other fonts may combine components in different ways. Click on the characters if you want to see the components.

Vertical conjuncts

Conjunct shapes are most commonly formed by arranging the components vertically, reducing and combining the shapes of the individual components as needed.

Vertically fused conjunct forms.

The conjuncts in fig_conjunct_vertical used in words: আস্থা ঝিল্লি

Examples of components arranged vertically.


Conjoined conjuncts

Many conjuncts are formed by combining components horizontally.

Conjoined conjunct forms.

The conjuncts in fig_conjoined used in words: ক্যম্পাস উচ্চারণ

Other examples of components arranged side-by-side, frequently with simplification of the initial consonant.


Ligating conjuncts

A small set of conjuncts combine the consonants into a ligated shape, where individual components can't always be easily discerned.

Ligated conjunct forms.

The conjuncts in fig_conjunct_ligated used in words: খ্রিষ্টান ক্ষণ

Examples of conjuncts arranged in a way that involves ligation, significantly altering one or more of the components.


Special forms

Cluster-initial RA [U+09B0 BENGALI LETTER RA] at the start of a cluster is normally displayed as a mark above the following consonant(s), eg. rt in গর্ত gɔrtô hole. Unlike Devanagari, it doesn't appear to be displayed above the vowel sign of the orthographic syllable, eg. কুর্তা

Like other consonant clusters, the sound may also be written without a conjunct at all, eg. কারসাজি

In some cases, it may be preferred to render a RA + YA cluster using the y̌ɔ-phɔla form for the latter. In this case the RA retains its full shape. Add a ZWJ character before the hasant, in order to apply the special shaping rules.




Two differently rendered forms of the rya consonant cluster.

Cluster-final RA A trailing [U+09B0 BENGALI LETTER RA] is displayed as a wavy line below the other consonants, eg. gr in গ্রাম

Examples of clusters with a trailing r.


Cluster-final MA A cluster-final [U+09AE BENGALI LETTER MA] is also displayed in a characteristic way. The initial consonant is reduced, and the m is rendered as a long vertical line to the right with an appendage to the left at the bottom, producing a kind of diagonal grouping, eg. উন্মত্ত

Examples of cluster-final MA.


y̌ɔ-phɔla Bengali also has a particular way of representing a cluster-final j semi-vowel. This is typically represented using the full form of the preceding consonant followed by a special form of [U+09AF BENGALI LETTER YA], ‍্য, known as y̌ɔ-phɔla, eg. হ্যাঁ

The effect of yo-phola at the end of a conjunct is generally (a) to double the length of the preceding consonant, and (b) to change the value of the following vowel if it is inherent or a. For more details, see the character notes.

Visible virama

When the virama is used it may be because the font doesn't have a particular conjunct ligature, but it may also be visible in places where the phonology is unusual, eg. ফ্‌ল্যাট লান্‌চ although these may also be spelled with conjuncts, eg. ফ্ল্যাট

It is also quite common to see it used to distinguish words such as the following, which are etymologically related, but phonetically distinct:উদ্‌যাপন ụd͓‌ýɑpnউদ্যান ụd͓ýɑn

If a visible virama is wanted but not what the font does by default, it is possible to force it by inserting a ZWNJ character after the virama (see formatting).

Formatting characters

ZWNJ [U+200C ZERO WIDTH NON-JOINER] (ZWNJ) can be used to force the production of a visible virama, rather than a half-form (see visiblevirama). It can also be used to prevent the formation of vowel ligatures (see vowelligatures).

ZWJ [U+200D ZERO WIDTH JOINER] (ZWJ) is used to produce special joining forms for RA + YA (see consonant_syllable).

Consonant lengthening

There are a number of ways of producing a lengthened consonant sound in Bangla.

A straightforward approach is to duplicate the consonant sound in conjunct form. For example, a long l can be written ল্ল [U+09B2 BENGALI LETTER LA + U+09CD SIGN VIRAMA + U+09B2 LETTER LA], eg. ঝিল্লি

Another common way of doubling the length of a consonant is to use a conjunct ending with [U+09AC BENGALI LETTER BA] or [U+09AE BENGALI LETTER MA], eg. ভস্ম বিশ্ব

The y̌ɔ-phɔla (্য [U+09CD BENGALI SIGN VIRAMA + U+09AF BENGALI LETTER YA]) can also lengthen the consonant it follows, eg. জন্য

[U+0983 BENGALI SIGN VISARGA] can also lengthen the following consonant, with no aspiration, eg. নিঃশব্দ

Consonant sounds to characters

This section maps Bengali consonant sounds to common graphemes in the Bengali orthography, grouped according to whether they are regular ( r ), conjuncts ( c ), or final ( f ). Click on a grapheme to find other mentions on this page (links appear at the bottom of the page). Click on the character name to see examples and for detailed descriptions of the character(s) shown.



[U+09AC BENGALI LETTER BA] (when not in a conjunct)


[U+09CE BENGALI LETTER KHANDA TA], in syllable-final positions


[U+0996 BENGALI LETTER KHA],  eg. খবর.





Encoding choices

This section looks at alternative strategies for typing and storing vowel signs and independent vowels used by Bangla, taking into consideration the effects of normalising the text using Unicode Normalisation Form D (NFD), and Normalisation Form C (NFC).

Vowel signs

The 2 circumgraphs can be written as a single character, or as two characters (in decomposed text).

The single code point per vowel sign is the form preferred by the Unicode Standard and the form in common use for Bengali. The parts are separated, however, in Unicode Normalisation Form D (NFD), and recomposed in Unicode Normalisation Form C (NFC), so both approaches are canonically equivalent.

Whichever approach is used, the vowel signs must be typed and stored after the consonant characters they surround. In the case of decomposed vowel signs, the order is also important and must be as shown above.

Precomposed Decomposed

Independent vowels

The single code point on the left should be used, and not the sequence on the right, because they are not made the same by normalisation, and they are not semantically equivalent. Using the right-hand sequence will cause searches and machine understanding of the data to fail.

Use Do not use


The way the Unicode Standard recommends to type and store graphemes with nuktas is slightly inconsistent for Bengali. Here we look at alternative strategies for all uses of the nukta in the Bengali block (usage recommendations for Bangla are given in the section extendedC), and consider the effects of normalising the text using Unicode Normalisation Form D (NFD), and Normalisation Form C (NFC).

For the following alternatives the decomposed form is recommended by the Unicode Standard. NFC does not recombine the parts into precomposed characters. Instead, both NFC and NFD normalisation produces decomposed forms.

Precomposed Decomposed (recommended)

In the next case, the Unicode Standard recommends using the precomposed form. Neither form is converted into the other by normalisation, so they are not equivalent. It is therefore best to use the precomposed form only, so that text matches other text as expected.

Use Do not use

In practise, it's hard to envisage content authors being aware of, let alone respecting, rules about whether they should use precomposed or decomposed forms. Keyboards or other input mechanisms, or perhaps sometimes applications that automatically normalise can perhaps guide users to the recommended practise, but it's likely that Bengali text will always contain a mixture of forms for these graphemes, and matching algorithms will need to be prepared to equate them all.

Codepoint sequences

Nuktas must immediately follow the base consonant they modify.

When 2 vowel signs are used for a circumgraph, the encoded order of the combining marks should match the displayed order, left to right.

Other letters

Besides the vowels and consonants described above, the Unicode Bengali block contains the following letters. They don't appear to be commonly used in Bangla.


Numbers, dates, currency, etc.

Bengali has a set of native digits, which are used regularly in text. They are decimal-based.


See also the section Counters below.


[U+09F3 BENGALI RUPEE SIGN] is the Bengali rupee sign.

There are also a number of currency symbols, used in older texts, including [U+09F2 BENGALI RUPEE MARK] and the following currency denominator signs.


These were used in an additive/subtractive system for specifying the number of ānā in the Bengali notation for currency used up to 1957, eg. ৷৷৶৹ 11 ānā (11 ana); ৸৶৹ 15 ānā (15 ana). There are 16 ana in one rupee, and the system works in multiples of 4. For a detailed explanation of usage, see [Pandey].

Text direction

Text is normally written horizontally, left to right.

Show default bidi_class properties for characters by the modern Bangla orthography.

Glyph shaping & positioning

This section brings together information about the following topics: writing styles; cursive text; context-based shaping; context-based positioning; baselines, line height, etc.; font styles; case & other character transforms.

You can experiment with examples using the Bengali character app.

Bengali text is not cursive (ie. joined up like Arabic), however there is a significant amount of interaction between glyphs, and some joining, around consonant clusters.

The orthography has no case distinction, and no special transforms are needed to convert between characters.

Context-based shaping & positioning

Vowel ligatures

Sometimes vowel signs (particularly U) form ligatures with a preceding base consonant. fig_lig shows ligated (top) and non-ligated (bottom) forms for several combinations. In certain contexts it may be less appropriate to ligate (eg. newspapers and modern typefaces). Both forms are equivalent in every way but visually.

রু র‌ু রূ র‌ূ হৃ হ‌ৃ হু হ‌ু ন্তু ন্ত‌ু শু শ‌ু গু গ‌ু
Ligated (top) and non-ligated (bottom) forms for several combinations of consonant+vowel.

The default behaviour of a given font can be modified using the zero-width non-joiner character before the vowel to produce the simple form. See fig_ligated_simplified.




Example code sequences for ligated and simplified forms of a consonant+vowel combination.

See a matrix of consonants followed by vowel signs for Bengali. A few clusters that are often ligated are pre-highlighted.

Font styling & weights



This section is still undergoing research and development.

Grapheme clusters alone are not sufficient to represent typographic units in Bengali in all circumstances. Conjuncts are common and must not be split apart by edit operations that visually change the text (such as letter-spacing, first-letter highlighting, and in-word line breaking). For those operations one needs to segment the text using orthographic syllables, which string grapheme clusters together with a virama.

The Bengali virama (hasant) is [U+09CD BENGALI SIGN VIRAMA​], which has an Indic Syllabic Category of Virama.

Grapheme clusters

Base ZW(N)J? Combining_mark* ZW(N)J?

Combining marks may include zero or more of the following types of character.

  1. Nukta [1] (see extendedC) Only one per grapheme cluster, typed and stored immediately after the base consonant.
  2. Dependent vowels [10] (see combiningvowels and vocalics) Usually a single code point, but in decomposed text can be two (see circumgraphs).
  3. Nasalisation mark [1] (see nasalisation) Occurs over an independent vowel, or over a consonant when it is followed by a vowel sign. It is nevertheless typed and stored after any vowel signs.
  4. Final consonant marks [2] (see finals) One of 2 possible combining marks, at the end of a grapheme cluster sequence. May also occur after independent vowels.
  5. Virama (hasant) (see clusters and novowel) Normally occurs immediately after a consonant (and optional nukta) at the beginning of a cluster, but also occurs after independent vowels, particularly when writing the sound æ. It may also occur after RA+ZWJ to force a particular rendered shape for RA (see below).

In some cases, a ZWJ is inserted between RA + hasant followed by YA in order to specify special shaping rules (see special_forms).

A base consonant may be followed by ZWNJ before vowel sign code points where the author wants to prevent ligation of the following vowel sign (see vowelligatures). A ZWNJ may also be used after a virama to prevent conjunct formation and force the virama to be rendered visibly to the reader (see visiblevirama).

The following examples show a variety of grapheme clusters:

Click on the text version of these words to see more detail about the composition.


Note how grapheme clusters segment the parts of a conjunct after the virama. This is not always desirable (see orthographicS just below).

Larger typographic units

(Consonant Nukta? Virama)* Grapheme_cluster

Bengali commonly stacks or conjoins glyphs, to form conjuncts (see clusters). The conjuncts represent consonant clusters or gemination.

Grapheme clusters terminate after a sequence of marks that includes a hasant, but editorial operations that change the visual appearance of the text, such as letter-spacing, first-letter highlighting, line-breaking, and justification, should never split conjunct forms apart. For this reason, an alternative way of segmenting graphemes is needed. This may not apply, however, for some other operations such as cursor movement or backwards delete.

Where conjuncts appear, a typographic unit contains multiple grapheme clusters. The non-final grapheme clusters all end with [U+09CD BENGALI SIGN VIRAMA​], and the final grapheme cluster begins with a consonant.

The following are examples. Some examples were shown in the previous section: here the conjunct is treated as a single typographic unit.

Click on the text version of these words to see more detail about the composition.


Note that consonant clusters aren't always rendered as conjuncts, and in those cases the individual letters remain as separate graphemes. For example, consonants without an inherent vowel may be written using a consonant letter on its own at the end of a word or in other locations (see novowel).

Click on the text version of these words to see more detail about the composition.


On the occasions when a virama needs to be visible even though it is followed by another base, an invisible character must be added to prevent it joining with the following base. U+200C ZERO WIDTH NON-JOINER can achieve that.


Complicating factors

Behaviour is font-dependent. If a font doesn't have a conjunct form for a particular combination of characters it will make the virama visible.

What's important to note here is that it is normally possible to break a line after the grapheme cluster containing the virama when the virama is visible. This is currently difficult to manage because the decision as to whether the text is segmented into 2 graphemes or one depends only on the capabilities of the font used (ie. the rendered result); the code point sequence is identical for both cases, and gives no clues to which approach to segmentation is applicable.

Visible viramas can also affect vowel sign positioning. For the purposes of illustration, see fig_prebase_position, where the placement of the pre-base vowel varies. In the conjunct form on the left, the vowel sign is rendered to the left of the whole conjunct. If the sequence is not rendered as a conjunct, as in the second example, the pre-base glyph precedes the TA, not the SA.

কুস্তি কুস্‌তি
Placement of pre-base vowel glyphs.

Browser behaviour

Test in your browser. The words test units that equate to grapheme clusters only, and others that include conjuncts. First, the text is displayed in a contenteditable paragraph, then in a textarea. Results are reported for Gecko (Firefox), Blink (Chrome), and WebKit (Safari) on a Mac.

ইংরেজ ক্যম্পাস ফ্‌ল্যাট কুর্তা

Cursor movement. Move the cursor through the text.
Gecko steps through the text using grapheme clusters with one exception. It takes 2 or more steps (depending on the number of GCs) to get through the conjuncts, one grapheme cluster at a time. In some cases, especially with RA, the cursor may look as if it is in the wrong position. The exception is the sequences with yo-phala (eg. ল্যা), which are skipped over as if they were a single grapheme cluster. Blink and WebKit step through all words using the orthographic syllables as described here (ie. they step over a stack and all associated combining characters in one jump), except that WebKit doesn't include the ZWNJ in the grapheme cluster it ends, requiring an extra jump to get past it (although the cursor doesn't move).

Selection. Place the cursor next to a character and hold down shift while pressing an arrow key.
The behaviour is the same as for cursor movement.

Deletion. Forward deletion works in the same way as cursor movement. The backspace key deletes code point by code point, for all browsers.

Line-break. See this test. The CSS sets the value of the line-break property to anywhere. Change the size of the box to slowly move the line break point.
Gecko sets break opportunities in the same places as cursor stops. WebKit and Blink both wrap on orthographic syllable boundaries.

Punctuation & inline features

Word boundaries

Words are separated by spaces.

Phrase & section boundaries


Bangla uses a mixture of ASCII and Bengali punctuation.


, [U+002C COMMA]


: [U+003A COLON]


. [U+002E FULL STOP]




The danda, [U+0964 DEVANAGARI DANDA], is used for sentence final punctuation.

Observation: I haven't seen much evidence for the use of the double danda, [U+0965 DEVANAGARI DOUBLE DANDA].

Western punctuation, such as commas, semicolons, colons, quotation marks and hyphens are also used quite commonly.

Bracketed text


Bengali commonly uses ASCII parentheses to insert parenthetical information into text.

  start end



Quotations & citations


Bengali texts typically use quotation marks. Of course, due to keyboard design, quotations may also be surrounded by ASCII double and single quote marks.

  start end






Italicisation, bolding, and underlining are not traditionally features of Bengali text.

Abbreviation, ellipsis & repetition


The bisɔrgô [U+0983 BENGALI SIGN VISARGA​] is sometimes used to mark initial abbreviations.

A sign called urdha-comma can be used to indicate truncation of words, eg. কʼরেʼপরে The Unicode Standard recommends use of ʼ [U+02BC MODIFIER LETTER APOSTROPHE].u,460

Observation: Wikipedia seems to use a normal apostrophe.

The Unicode Bengali block also has the punctuation [U+09FD BENGALI ABBREVIATION SIGN]. It is possible that [U+2026 HORIZONTAL ELLIPSIS] is used.

Observation: Information is needed about how it is used. It doesn't appear to be in common use.

Inline notes & annotations


Other punctuation

[U+09FA BENGALI ISSHAR] is used alongside the names of deceased persons.

Other inline text decoration


Line & paragraph layout

Line breaking

Bengali is preferably wrapped at word boundaries.

In-word line-breaks

Bengali text can be hyphenated during line wrap, though it is not very common (unlike several south Indian scripts). This is partly because Bengali contains mostly short

Hyphenation adds a hyphen at the end of the line when a word is broken.

Line-edge rules

As in almost all writing systems, certain punctuation characters should not appear at the end or the start of a line. The Unicode line-break properties help applications decide whether a character should appear at the start or end of a line.

Show line-breaking properties for characters in the modern Bangla orthography.

The following list gives examples of typical behaviours for some of the characters used in modern Bangla. Context may affect the behaviour of some of these and other characters.

Click/tap on the Bangla characters to show what they are.

  • “ ‘ (   should not be the last character on a line.
  • ” ’ ) . , ; ! ? । ॥ %   should not begin a new line.
  •   should be kept with any number, even if separated by a space or parenthesis.

Line breaking should not move a danda or double danda to the beginning of a new line even if they are preceded by a space character.

Text alignment & justification


Text spacing


Baselines, line height, etc.


Bangla uses the so-called 'alphabetic' baseline, which is the same as for Latin and many other scripts.

It also has a 'hanging baseline', which may be used for text alignment in things such as initial letter highlighting. The hanging baseline is based on the top bar that joins the letters.

Bangla requires slightly more vertical space than Latin text. To give an approximate idea, fig_baselines compares Latin and Bangla glyphs from Noto fonts. The basic height of Bangla letters is typically slightly higher than the Latin x-height, including conjunct stacks, however certain letters and combining marks extend beyond the Latin ascenders, creating a need for larger line spacing.

Xhqxঐল্লিম্ভস্ট্রর্তদ্‌ঢ়ীড়ৃঁকৣ Xhqxঐল্লিম্ভস্ট্রর্তদ্‌ঢ়ীড়ৃঁকৣ
Font metrics for Latin text compared with Bangla glyphs in the Noto Serif Bengali (top) and Noto Sans Bengali (bottom) fonts.

fig_baselines_other shows similar comparisons for the Bangla MN and Vrinda fonts.

Xhqxঐল্লিম্ভস্ট্রর্তদ্‌ঢ়ীড়ৃঁকৣ Xhqxঐল্লিম্ভস্ট্রর্তদ্‌ঢ়ীড়ৃঁকৣ
Latin font metrics compared with Bangla glyphs in the Bangla MN (top) and Vrinda (bottom) fonts.

Counters, lists, etc.

You can experiment with counter styles using the Counter styles converter. Patterns for using these styles in CSS can be found in Ready-made Counter Styles, and we use the names of those patterns here to refer to the various styles.

The modern Bangla orthography uses ASCII digit numbering, but also has a native numeric style.


The bengali numeric style is decimal-based and uses these digits.rmcs




Prefixes and suffixes

Generally, Bangla lists use a full stop plus a space as a suffix.


১. ২. ৩. ৪. ৫.
Separator for Bangla list counters: full stop + space.

Page & book layout

This section is for any features that are specific to Bengali and that relate to the following topics: general page layout & progression; grids & tables; notes, footnotes, etc; forms & user interaction; page numbering, running headers, etc.