Back to blog

Hasant (্) Explained: The Bengali Halant Character That Powers Every Conjunct

The invisible glue behind every Bengali conjunct. What hasant does, when it appears, when it stays hidden, and how Avro vs Bijoy handle it differently.

MMohammad IsmailAuthorMay 17, 2026
Hasant (্) Explained: The Bengali Halant Character That Powers Every Conjunct

Hasant (্) — also called halant or virama — is the invisible glue behind every Bengali conjunct. It sits between two consonants to suppress the inherent অ on the first one, letting the two letters bond into a যুক্তবর্ণ.

Master hasant and conjuncts stop being mysterious — they become predictable. This guide explains what hasant does, when it appears visibly, when it stays hidden, how Avro and Bijoy handle it differently, and why the same Unicode codepoint can render in three different ways.

What hasant does

Each Bengali consonant has an implicit short অ sound. ক alone reads as ko. ত alone reads as to. But you do not want kotot every time you write কত — sometimes you want them to fuse into ক্ত (kt, as in রক্ত).

Hasant removes the inherent অ. It is what turns:

  • ক (ko) + ত (to) → ক্ত (kt)
  • স (sho) + ত (to) → স্ত (st)
  • ন (no) + দ (do) → ন্দ (nd)
  • শ (sho) + ব (bo) → শ্ব (shw)

You can see hasant as a small slash beneath a consonant when it ends a word: পদ্ (the visible hasant), হলদ্ — sometimes called "khondo halant" in this position. Most of the time, though, hasant disappears into the conjunct glyph and you only see the bonded result.

Typing hasant

| Layout | How to type hasant | |--------|--------------------| | Avro Phonetic | ,, (two commas) | | Bijoy | g |

In Avro, you almost never type ,, directly. Auto-conjunct triggers it whenever two consonants land in a row: typing s then t automatically becomes স্ত. The literal ,, is only needed when you want a visible halant — for example, ending a word in পদ্ (rare, mostly Sanskrit transliteration).

In Bijoy, you must press g between every pair of consonants you want to bond. Skipping g produces two separate consonants instead of a conjunct.

When hasant appears visibly

Most of the time, hasant is invisible — it disappears into the conjunct glyph. But there are three cases when you see it:

  1. Word-final consonant clusters — পদ্, ব্যাজ্, লক্ষ্ (rare; mostly Sanskrit roots).
  2. When the second consonant resists conjunct rendering — some fonts do not have glyphs for every theoretical conjunct, so the renderer falls back to consonant + visible hasant + consonant.
  3. Forced separation — Avro accent key (``) between two consonants forces a visible hasant instead of an auto-conjunct.

The first case is genuinely rare in everyday writing. The second case is mostly cosmetic — different fonts make different choices. The third case is the one you control deliberately as a typist.

Avro vs Bijoy hasant comparison

| Action | Avro | Bijoy | |--------|------|-------| | Type স্ত from scratch | st (auto) | n + g + k (3 keys) | | Force visible hasant | s + ,, | n + g | | Type two letters NOT conjuncted | s + `` + t | type without g |

The keystroke math reveals an interesting trade-off. Bijoy uses one explicit halant key per cluster (3 keystrokes for স্ত). Avro auto-handles the halant most of the time (2 keystrokes for স্ত) but adds a halant escape key for the rare cases when you want to break the cluster.

For dense Bengali text — say, an academic paper — Avro is usually faster because most clusters use the auto-conjunct shortcut. For occasional Bengali sprinkled into English text, Bijoy can be marginally faster per cluster because there are no implicit-vowel rules to think about.

Why it matters for speed

In Bijoy, every conjunct costs 3 keystrokes (consonant + halant + consonant). In Avro, every conjunct costs 2 keystrokes because the halant is auto-inserted. For a typical Bengali paragraph with 25 conjuncts, that is a 25-keystroke difference — roughly 5 extra seconds per paragraph at 60 WPM.

Avro typists feel faster on conjunct-heavy text. Bijoy typists feel faster on conjunct-light text (because of the smaller per-letter keystroke count overall). Neither difference is huge, but over long writing sessions it adds up.

Three Unicode renderings of the same codepoints

The hasant character is U+09CD. When the renderer encounters it between two consonants, it has three choices:

  1. Ligature rendering: replace the three codepoints with a single ligature glyph. ক + ্ + ত → ক্ত as one glyph.
  2. Subscript rendering: keep the first consonant full-size; render the second consonant as a small subscript below it. Some fonts do this for less common clusters.
  3. Linear rendering: show the literal three glyphs in sequence — ক, then a visible halant, then ত. Used when the font lacks a ligature for the specific cluster.

All three renderings are correct Unicode behaviour. The Bengali text inside the document is identical — only the visual presentation differs. This is why the same text can look slightly different across fonts, operating systems, and browsers.

If you find that some of your Bengali text renders with visible hasants in linear style while other parts use proper ligatures, the cause is almost always a font that lacks ligatures for certain clusters. Switch to a complete Bengali Unicode font (Kalpurush, Nikosh, Solaiman Lipi, Mukti Narrow) and the rendering will normalise.

Try it

Open Avro intermediate-17 — it is the auto-conjunct demo. Type s then t and watch the conjunct fire automatically. Then open Bijoy advanced-c10 and feel the explicit g rhythm. The difference between the two flows is small in keystroke count but huge in cognitive load — Bijoy demands more conscious attention per cluster.

Closing thought

Hasant is the most important invisible character in Bengali. Most Bengali typists never type it directly because auto-conjunct hides it. But understanding how it works under the surface lets you debug rendering issues, choose between cluster-typing strategies, and use the accent escape correctly when you need to break an unwanted conjunct. The five minutes you spend reading about hasant pays back across every Bengali document you ever type.

M

Written by

Mohammad Ismail