Avro is the reason a generation of writers in Bangladesh could type Bangla at all: a free input method from OmicronLab, first released in March 2003, that made a phonetic keyboard learnable in an afternoon. It worked because it refused an old assumption — that Bangla had to live inside a legacy codepage. Everything Avro types is Unicode, and always has been.
That decision is also why this page exists separately. The transformation is ordinary; the text is what is unusual. Avro quietly rearranges part of what you type before it reaches the file, so the string in your document is not always the string your fingers asked for. That gap is where a careless Avro to Bijoy converter comes apart.
Avro has two output modes — which one is your text?
For most of Avro's life there was only one thing it could produce, and that was the point. Version 5.x added an optional ANSI mode for programs that still cannot handle Unicode — image editors being the classic example — plus two compatible fonts, Siyam Rupali ANSI and Kalpurush ANSI, to draw the result. So an Avro user can arrive here holding either of two very different things.
| What the file holds | How to tell | What to do here |
|---|---|---|
| Bangla letters stored as Unicode — the default, and what almost every Avro user has | The Bangla stays Bangla no matter which font you pick | Nothing special. This page already points that way. |
| Latin letters standing in for Bangla glyphs, produced by ANSI mode with an ANSI font selected | Switching to an ANSI font is what makes it readable | Switch the direction control above to the other arrow. |
The test takes five seconds: select a line and change its font. Unicode text looks the same, or breaks the same way, under every font you try. ANSI output turns into readable Bangla under one font and stays Latin nonsense under the rest. The direction control stays visible above for exactly this reason — no tool can answer that question for you.
Avro is a keyboard, not an encoding
The phrase "Avro to Bijoy" is a slight abuse of language, and untangling it explains most of what follows. Avro is not a format. It has no codepage, no proprietary storage and no font of its own that a document could depend on. It is a keyboard interface: it intercepts keystrokes, applies a layout or a phonetic rule, and hands your application an ordinary Bangla string, which the application stores the same way it stores Bangla from a phone or an email attachment.
So the journey is one-directional in terms of formats. The starting point is Unicode, and the destination is SutonnyMJ's arrangement of Bangla glyphs onto Latin slots. There is no Avro encoding to decode.
What does belong to Avro is behaviour — the ways it edits your text on the way in. Two of them matter here, and both are documented by OmicronLab rather than folklore.
How to convert Avro Bangla to Bijoy
-
Paste what Avro gave you
Copy the Bangla out of Avro Pad, Word, or wherever it ended up, and drop it into the box above. This page already points at Unicode → Bijoy, because Unicode is what Avro produces.
-
Read the round-trip line before the output
It converts the result straight back and compares it with what you pasted, character by character. Green means nothing moved; a warning names the characters that drifted.
-
Copy the codes into the destination file
The output is deliberately unreadable — Latin letters where Bangla should be. That is the storage format, not damage. Paste it into the layout or template that asked for it.
-
Set the destination font to an ANSI family
Choose SutonnyMJ, or another MJ-compatible ANSI font, in the application you pasted into. A Unicode font will keep showing the raw codes, because it is waiting for Unicode characters that are no longer there.
Where Avro text differs from other Unicode text
Bangla pasted from Facebook, from a phone keyboard or from a modern word processor is usually uneventful to convert. Avro text is the case that surprises people, because Avro does two things to your keystrokes before they land.
Avro forms vowels you did not ask for
Avro's automatic vowel forming lets you type the short form of a vowel and get the full form on its own, without reaching for the link key it would normally require. It is a genuine speed feature, and it is also why a file can contain a character your memory of typing does not account for. A dictionary of roughly 150,000 words with auto-correct does the same thing one level up.
Both mean the same thing when you convert the result: work from the file, never from a reconstruction of what you think you typed. A tool that reorders vowel signs by rule alone, without parsing the syllables actually present, will place a matra in the wrong slot.
Old Style Reph is on by default
A reph is typed before the consonant it belongs to, but plenty of typists instinctively enter it afterwards. So Avro added auto Reph, which moves a trailing reph into place automatically — and left it enabled out of the box. The option sits under fixed layouts in its settings, and can be switched off.
The consequence: two people typing in Avro can produce files whose reph sits in different positions for the same word, and both are valid. A tool worth using relocates reph structurally, which is why the round-trip line tells you more here than on an ordinary document.
UniBijoy is a layout, and it left Avro in 4.2
This is the misunderstanding behind the most common question about Avro and Bijoy. UniBijoy is not a format, a font or a file type. It is a keyboard layout, developed in 1999 under the Ekushey project precisely because the original Bijoy layout could not produce Unicode, and released into the GNU m17n database in December 2005.
It was distributed alongside Avro for years, which is where the confusion starts: typists who came to Avro from Bijoy learned on it and reasonably assumed that their Bijoy finger memory meant Bijoy output. It never did. A layout decides which key produces which character, and Avro stores the result as Unicode regardless of which layout produced it. Since version 4.2 it is no longer bundled, so a workflow built around it is one you maintain yourself.
None of which changes the conversion. It only changes what you should assume about a file someone else typed. If you need the other journey — turning existing Bijoy codes back into readable, searchable Bangla — that job has its own page: Bijoy to Unicode.
One letter, two valid spellings
There is a quieter trap in Bangla text that has nothing to do with Avro. Three Bangla letters — the retroflex ড়, ঢ় and য় — are canonically equivalent to a base letter followed by a nukta mark. The two spellings are the same character by every definition that matters, and completely different sequences of code points.
Which one you get depends on the keyboard, the operating system and the route the file took. Neither is wrong. But a tool that compares raw code points sees two unrelated inputs, recognises only the one in its table, and lets the other fall through — which shows up as one word coming out fine and the same letter elsewhere coming out broken.
This tool normalises the text with Unicode NFC before doing anything else — and for these three letters NFC spells them the decomposed way, because Unicode excludes them from recomposition. So both spellings reach the mapping table as the same sequence. The two examples above are typed with different code points and identical glyphs; converting either gives the same output.
Three mistakes that break an Avro to Bijoy conversion
- Assuming the layout decided the encoding. It did not. This is the single most common cause of an Avro user pasting Unicode text into a tool expecting legacy codes, or the reverse. Check what the characters are before choosing a direction.
- Converting a document whole, with the English still inside it. Avro documents carry more embedded English than most, because the phonetic keyboard doubles as a way to type Latin. Since Bijoy reuses the same letters, real English inside the converted run comes out as Bangla glyph codes. Convert the Bangla stretches only.
- Trusting a green tick without reading the output. A green tick from a naive Avro to Bijoy converter means less than it looks: a character the mapping table does not recognise passes through unchanged in both directions, so the round trip succeeds while something sits in the text, wrong.
Because the conversion runs as JavaScript inside your browser and the page has no server endpoint to send anything to, none of it leaves your machine. That matters more for Avro users than for most: Avro is where unpublished manuscripts, press copy and internal circulars tend to be typed in the first place.
The same engine covers the general case. If the text did not come from Avro at all — a paragraph lifted from a website, a spreadsheet cell, something a colleague emailed over — then the main Unicode to Bijoy page is the same tool framed for that situation.
Avro to Bijoy: frequently asked questions
Is "Avro to Bijoy" the same conversion as Unicode to Bijoy?
Technically yes. Avro is an input method, and everything it types is Unicode, so moving Avro text into Bijoy is the same transformation as moving any other Unicode Bangla. These pages exist separately because the starting point differs, not the destination.
What makes Avro text its own case is that Avro rearranges some of what you type before it reaches the file.
I typed with Avro's Bijoy layout — so why is my text still Unicode?
Because the layout only chooses which key produces which character. It does not decide how that character gets stored, and Avro stores Bangla as Unicode whichever layout is active.
Typing on Bijoy key positions inside Avro therefore gives you text indistinguishable, byte for byte, from text typed phonetically. The muscle memory carried over; the encoding did not.
Avro has an ANSI mode. How do I know which one my file came from?
Look at what the characters are, not at what the screen shows. Unicode text holds Bangla letters directly and renders as Bangla under any font. ANSI-mode output holds Latin letters that only look like Bangla while an ANSI font is selected.
So change the font. If the text looks the same either way, it is Unicode. If an ANSI font turns readable Bangla out of what looked like gibberish, it came from ANSI mode — switch the direction control above.
Why does my Avro text contain vowel forms I do not remember typing?
Avro has an automatic vowel-forming feature: typing the short form of a vowel often produces the full form on its own, without the separate link key. So the character in your file is not always the one your fingers asked for.
Its dictionary also carries roughly 150,000 words with auto-correct. Both are improvements while you type and traps afterwards, because a tool has to work from the file.
Avro moved a reph I typed at the end. Did the conversion break it?
No — that reordering happened inside Avro, and the file already holds the reph where it belongs. Avro calls the option Old Style Reph and ships it enabled, so a reph typed after a consonant is moved in front of it before the text is stored.
The awkward case is the opposite one: switch that option off and your reph sits elsewhere, which is why the tool reports a round-trip result rather than assuming one arrangement.
Does this page need Avro installed to work?
No. The conversion runs here, in your browser, on whatever text you paste into the box. You do not need Avro, or any other Bangla software, on the machine doing the converting.
You need the right font only where the Bijoy output will be read or printed. So the tool still works on text from a colleague’s computer, an old backup, or a file whose author is long gone.
Does this work with text from iAvro on macOS or ibus-avro on Linux?
Yes. OmicronLab publishes the Avro family for macOS as iAvro and for Linux as ibus-avro, and both store Bangla the way the Windows build does — as Unicode.
Nothing in the conversion depends on which operating system produced the text, so paste it here exactly as you would paste anything else.
Why did the English words inside my Avro text come back as Bangla?
Because Avro text usually mixes the two scripts, and Bijoy reuses Latin codepoints to stand for Bangla glyphs. Once the text is in that form, a tool has no way to tell a real English word from a Bijoy letter sequence — to the table, both are just letters.
Convert the Bangla stretches on their own and leave the English outside the box. The line beneath the output flags this case when it happens.
Which fonts will actually render the converted SutonnyMJ codes?
Any ANSI Bangla font built on the same mapping: SutonnyMJ itself, and the MJ-compatible families that came after it. Avro ships two of its own, Siyam Rupali ANSI and Kalpurush ANSI, for the ANSI mode described above.
Unicode fonts will not do it. SolaimanLipi, Nikosh and Noto Sans Bengali expect Unicode characters, so selecting one leaves the Latin codes exactly as they were.