induwara.lk
induwara.lkSri Lanka · Text

Tamil Unicode Converter — Bamini & TSCII to Unicode

Paste Tamil text saved in an old legacy font (Bamini) or the TSCII 8-bit encoding and get clean, copy-paste-ready Tamil Unicode that works on Facebook, WhatsApp, government eServices, and MS Word — or convert the other way for legacy print layouts. Runs entirely in your browser; nothing is uploaded.

By Induwara AshinsanaUpdated Jul 16, 2026
Convert Tamil textlegacy ↔ Unicode
Round-trip verified · runs in your browser
Direction
Legacy encoding
0 / 50,000

Nothing is uploaded — conversion happens entirely on your device.

Try a sample
Source characters
0
Output characters
0
Unmapped glyphs
0
Tamil Unicode

Your converted text appears here. Paste something above or pick a sample to see it instantly.

Mapping tables follow the Unicode Tamil block (U+0B80–U+0BFF), the TSCII 1.7 code page, and the Ezhil open-tamil converter reference. This build covers the Bamini and TSCII core sets; any glyph outside them is counted as “unmapped” above rather than silently dropped. Full source links are in the references below.

How it works

For roughly two decades before Unicode adoption, almost all digital Tamil was either typed in font-encoded legacy fonts — Bamini being the most widespread for Sri Lankan and Indian publishing — or stored in the 8-bit TSCII code page. In Bamini each Tamil glyph occupies a Latin/ASCII code position and text is stored in visual order (the order glyphs appear left-to-right on screen). On any device without that exact font, the same bytes render as Latin gibberish such as jkpo; instead of தமிழ். TSCII stores glyphs in bytes 0x80–0xFF and, when mis-decoded by a browser, appears as Windows-1252 symbols like ¾Á¢ú.

Tamil Unicode (the block U+0B80–U+0BFF) instead stores text in logical order — pronunciation/typing order — and lets the system shape it at render time. Because there is one standard code point per character, Unicode displays identically on every modern device with no special font. Conversion between the two is a deterministic, longest-match-first glyph-cluster substitution, not a guess:

  1. Glyph-cluster substitution. Each legacy visual cluster — a left-side vowel sign, its consonant, and any trailing glyph — maps directly to the correct logically-ordered Unicode sequence. Longest-match-first scanning means a three-glyph cluster such as nfh கொ is matched before the shorter nf கெ or single f .
  2. Visual-to-logical ordering is baked in. The left-side vowel signs ெ ே ை are drawn before their consonant in legacy fonts but must follow it in Unicode, and the two-part signs ொ ோ ௌ wrap around the consonant. Because the tables key whole clusters, the reorder and composition happen automatically — legacy visual ெ + க + ா becomes the single Unicode sign in கொ (க U+0B95 + ொ U+0BCA).

The mapping points come from the Unicode Standard Tamil chart, the TSCII 1.7 code page, and the Ezhil Language Foundation open-tamil converter tables. Every mapping in this build is checked to round-trip losslessly— converting Unicode → legacy → Unicode returns the original text — which is how the tool earns its “round-trip verified” badge. The engine deliberately uses positional longest-match-first scanning rather than the upstream library's sequential replace, because sequential replacement mis-orders a few au-clusters (a one-character rule can fire before a three-character cluster); positional scanning is order-independent and correct. Glyphs outside the verified core sets are never guessed: they pass through unchanged and are counted for you as unmapped, so a partial conversion is always visible.

Worked examples

Pre-base sign reordering (Bamini)

Nfகே

  1. Read the Bamini cluster Nf: N is the visual ே sign drawn to the left, f is க
  2. The cluster maps directly to logical order: க then ே
  3. Output: கே — க U+0B95 + ே U+0BC7, renders identically to the legacy glyphs

Two-part sign composition (Bamini)

nfhகொ

  1. Bamini draws “ko” as three glyphs: n (left ெ) + f (க) + h (right ா)
  2. The nfh cluster composes into one Unicode sign after the consonant
  3. Output: கொ — க U+0B95 + ொ U+0BCA. Reverse (Unicode → Bamini) splits it back to nfh

A full word — “தமிழ்” (Tamil)

jkpo;தமிழ்

  1. Substitute clusters: j → த, kp → மி (post-base ி needs no reorder), o; → ழ்
  2. No left-side signs here, so nothing is reordered
  3. Output: தமிழ் (த U+0BA4, ம U+0BAE, ி U+0BBF, ழ U+0BB4, pulli ் U+0BCD)

Same word in TSCII → round-trip

¾Á¢úதமிழ்

  1. TSCII bytes (Windows-1252 form): ¾ → த, Á¢ → மி, ú → ழ்
  2. Output: தமிழ் — identical Unicode to the Bamini example above
  3. Round-trip: தமிழ் → TSCII → தமிழ் returns the original losslessly

Frequently asked questions

Sources & references

The mapping tables on this page were last cross-checked against the Unicode Tamil chart and the cited references on 2026-07-16. Coverage currently spans the Bamini and TSCII core sets; other legacy systems (STMozhi, TAB/TAM, Shreelipi-style fonts) each need their own verified table and are added only once confirmed, because a wrong mapping produces silently-incorrect text.

Related tools

Rate this tool
Be the first to rate

Comments & feedback

Spotted a bug or want an improvement? Tell us — our team reviews every comment, and good ideas get built. Comments are public and anonymous.

Found a glyph that didn't convert, or want another legacy Tamil font added?

Email me at [email protected] — most fixes ship within 24 hours.