Sinhala Typing
Type Latin letters and they become Sinhala as you type, by a scheme written out in full on the page rather than guessed by a predictive input method: aayuboovan types ආයුබෝවන්, and the syllables it was read as are listed under the box. A vowel at the start of a word is its own letter and after a consonant it is a sign, so i ki types ඉ කි with U+0D89 and U+0DD2 kept apart. y and r straight after a consonant are joined for you with the zero width joiner, so kya types ක්ය, stored as U+0D9A U+0DCA U+200D U+0DBA. The Onscreen board types a consonant and shows its whole syllable row, and the Mapping guide lists every Sinhala code point with its Unicode 17.0.0 name and, where it has one, its spelling. Backspace removes one whole grapheme without leaving a lone joiner, Undo takes back up to 100 steps, and Copy and the .txt file give back exactly the code points you typed, never normalized. Nothing you type is uploaded and there is no account.
The code points of the word at the caret appear here, in the order they are stored.
0 code points, 0 bytes as UTF-8, 0 graphemes
Backspace removes one grapheme at a time, never leaving a lone joiner.
For keyboards that compose text themselves, such as most phone keyboards: type a whole spelling here, then Enter or Insert puts the Sinhala at the caret in the box.
Types
The Sinhala appears here as you type.
Vowels
| Spelling | Alone | After ක |
|---|---|---|
| a | අ | ක |
| aa | ආ | කා |
| ae | ඇ | කැ |
| aee | ඈ | කෑ |
| i | ඉ | කි |
| ii | ඊ | කී |
| u | උ | කු |
| uu | ඌ | කූ |
| Ru or R | ඍ | කෘ |
| Ruu or RR | ඎ | කෲ |
| e | එ | කෙ |
| ee | ඒ | කේ |
| ai | ඓ | කෛ |
| o | ඔ | කො |
| oo | ඕ | කෝ |
| au | ඖ | කෞ |
Consonants
- kක
- khඛ
- gග
- ghඝ
- Ngඞ
- \gඟ
- c or chච
- chh or Chඡ
- jජ
- jhඣ
- Nyඤ
- gnඥ
- \jඦ
- tට
- Tඨ
- dඩ
- Dඪ
- Nණ
- \dඬ
- thත
- Thථ
- dhද
- Dhධ
- nන
- \dhඳ
- pප
- phඵ
- bබ
- bhභ
- mම
- \bඹ
- yය
- rර
- lල
- v or wව
- shශ
- Shෂ
- sස
- hහ
- Lළ
- fෆ
Each consonant is shown bare, as it types with a after it: ka types ක, and k alone types ක්.
Marks, joiner, separator and backslash
- x or M◌ං
- H◌ඃ
- + joins two consonants with U+200D
- _ writes nothing
- \ before g, j, d, dh or b spells a half-nasal; any other \ types itself
How the scheme decides
- A consonant with no vowel after it takes the al-lakuna ◌්, U+0DCA: kan types කන්, and aayuboovan types ආයුබෝවන්. a is the inherent vowel, so after a consonant it writes nothing: ka types ක.kan → කන් aayuboovan → ආයුබෝවන් ka → ක
- Long vowels are doubled, aa, ii, uu, ee and oo, and aee is the long ඈ. Short vowels stay short as typed: ayubowan types අයුබොවන්, where aayuboovan gives the long ආ and ◌ෝ.ayubowan → අයුබොවන් aayuboovan → ආයුබෝවන් kaee → කෑ
- At the start of a word, or after another vowel, a vowel is its own letter; straight after a consonant it is a sign. i types ඉ and ki types කි, and each keeps its own code point, U+0D89 and U+0DD2.i → ඉ ki → කි i ki → ඉ කි
- y or r straight after a consonant is joined with the al-lakuna and the joiner U+200D, which the scheme writes for you: kya types ක්ය (yansaya) and shrii types ශ්රී (rakaransaya). Any other two consonants meet with a plain al-lakuna: amma types අම්ම.kya → ක්ය shrii → ශ්රී amma → අම්ම
- + between two consonants joins them with the joiner too: Dhar+ma types ධර්ම, the repaya form, and k+Sha types ක්ෂ. Anywhere else + types itself.Dhar+ma → ධර්ම k+Sha → ක්ෂ Dharma → ධර්ම
- Letters that also spell one letter together are read as that one letter: kha types ඛ and thaa types තා. Put _ between them to keep them apart: k_ha types ක්හ and t_haa types ට්හා.kha → ඛ k_ha → ක්හ t_haa → ට්හා
- ai is ඓ and au is ඖ, so kai types කෛ. For a followed by i, type ayi or a_i: mamayi types මමයි and a_i types අඉ.kai → කෛ mamayi → මමයි a_i → අඉ
- th is ත and t is ට, dh is ද and d is ඩ, following the common Latin spelling of Sinhala (Singlish): thaaththaa types තාත්තා and gedhara types ගෙදර. Capitals matter: Th is ථ and T is ඨ, Dh is ධ and D is ඪ, n is න and N is ණ, l is ල and L is ළ, sh is ශ and Sh is ෂ.thaaththaa → තාත්තා gedhara → ගෙදර koLa\ba → කොළඹ
- v and w both type ව: ayubovan and ayubowan give the same text. x or M types ං and H types ඃ: sixhala types සිංහල.ayubovan → අයුබොවන් sixhala → සිංහල dhuHkha → දුඃඛ
- \g, \j, \d, \dh and \b type the half-nasal letters ඟ ඦ ඬ ඳ ඹ: ha\dha types හඳ and ga\ga types ගඟ. Without the backslash, n and m before another consonant are ordinary letters: kandha types කන්ද and indhiyaava types ඉන්දියාව. A \ that starts none of these spellings is typed as a backslash: \k types \ක්. Nga types ඞ, Nya types ඤ and gna types ඥ, so agni types අඥි; for the cluster in agni, type ag_ni.ha\dha → හඳ ga\ga → ගඟ kandha → කන්ද ag_ni → අග්නි
- R or Ru types ඍ, and after a consonant the sign ◌ෘ: kRu types කෘ. The rare letters ඏ and ඐ, their signs, ◌ඁ, ෴ and the Lith digits have keys but no spelling. Digits, spaces, punctuation, q and z type as themselves.kRu → කෘ Ru → ඍ RR → ඎ
In Phonetic mode the Latin letters you type in the box become Sinhala as you type, by the scheme written out below the box, and the syllables of your last spelling are listed under it: aayuboovan types ආයුබෝවන්. In Onscreen mode a consonant key types and picks its letter, and the syllable row adds its signs to that letter, or types the whole syllable anywhere else. Backspace, on the page or on your keyboard in the box, removes the whole grapheme before the caret, so a syllable goes at once rather than leaving its sign behind, and a joiner it would leave stranded goes with it; with a selection it removes exactly the selection. Signs show a dotted circle on their keys; the circle is never typed. An input method on your computer or phone works in the box too: this page leaves its composition alone.
What comes out
- කිU+0D9A U+0DD2: the consonant first, then its sign
- ඉ කිthe word-initial i is the letter ඉ U+0D89, after k it is the sign ◌ි U+0DD2, and neither replaces the other
- ක්removes ය and the joiner U+200D before it, leaving ක් U+0D9A U+0DCA with no lone joiner
Unicode License v3, full text
UNICODE LICENSE V3 COPYRIGHT AND PERMISSION NOTICE Copyright © 1991-2026 Unicode, Inc. NOTICE TO USER: Carefully read the following legal agreement. BY DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING DATA FILES, AND/OR SOFTWARE, YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE THE DATA FILES OR SOFTWARE. Permission is hereby granted, free of charge, to any person obtaining a copy of data files and any associated documentation (the "Data Files") or software and any associated documentation (the "Software") to deal in the Data Files or Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, and/or sell copies of the Data Files or Software, and to permit persons to whom the Data Files or Software are furnished to do so, provided that either (a) this copyright and permission notice appear with all copies of the Data Files or Software, or (b) this copyright and permission notice appear in associated Documentation. THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA FILES OR SOFTWARE. Except as contained in this notice, the name of a copyright holder shall not be used in advertising or otherwise to promote the sale, use or other dealings in these Data Files or Software without prior written authorization of the copyright holder.
Common questions
- How do I type Sinhala without installing a Sinhala keyboard?
- Choose Phonetic and type Latin letters in the box: they become Sinhala as you type, so aayuboovan gives ආයුබෝවන්. Or choose Onscreen and click the keys: a consonant key types its letter and fills the syllable row with that consonant and each of its signs. Many phone keyboards compose words themselves, and the page cannot convert what they type in the box, so on a phone type the spelling in the Latin line under the box and press Enter or Insert. When you are done, Copy puts the text on the clipboard and .txt saves it as a plain UTF-8 file.
- How does the phonetic Sinhala typing work?
- Latin letters are read by a fixed scheme, written out in full under the box in Phonetic mode, longest spelling first. a is the inherent vowel and writes nothing after a consonant, and a consonant with no vowel after it takes the al-lakuna ◌්, so kan types කන්. Long vowels are doubled: aa, ii, uu, ee and oo. th and dh are the dental ත and ද, and t and d the retroflex ට and ඩ, the way Sinhala is usually spelt in Latin letters, so gedhara types ගෙදර. Capitals matter: Th is ථ, T is ඨ, Dh is ධ, D is ඪ, N is ණ and L is ළ. The same spelling always types the same code points: nothing is predicted or looked up in a dictionary.
- How do I type yansaya and rakaransaya, like ක්ය or ශ්රී?
- Type y or r straight after a consonant: kya types ක්ය and shrii types ශ්රී. The scheme writes the al-lakuna and the zero width joiner U+200D for you, so ක්ය is stored as U+0D9A U+0DCA U+200D U+0DBA, the sequence Unicode specifies for yansaya. On the Onscreen board, the last two keys of the syllable row type the same forms for the picked consonant. For other joined forms, such as repaya, put + between the consonants: Dhar+ma types ධර්ම.
- Can I type the way Sinhala is usually written in English, like ammaa or thaaththaa?
- Mostly. The letters follow the usual Singlish spelling: th and dh are the dental ත and ද, t and d the retroflex ට and ඩ. So thaaththaa types තාත්තා, stored as U+0DAD U+0DCF U+0DAD U+0DCA U+0DAD U+0DCF, gedhara types ගෙදර and ammaa types අම්මා. Vowel length is typed, never guessed: thaththa types තත්ත, and ayubowan types අයුබොවන් where aayuboovan gives ආයුබෝවන්. Without a backslash, n and m before another consonant are ordinary letters, so kandha types කන්ද and indhiyaava types ඉන්දියාව; the half-nasal letters take a backslash, so ha\dha types හඳ and ga\ga types ගඟ. The notes under the box list every choice the scheme makes.
- Can it translate English into Sinhala or suggest words?
- No. This is character entry only: each key and each phonetic spelling types fixed code points. There is no translation, no word prediction and no spelling correction, so what ends up in the box is exactly what you pressed or spelt.
- Why does Backspace remove a whole letter with its vowel sign?
- Backspace, on the page or on your keyboard in the box, removes the grapheme before the caret: a letter with every sign after it, so කි goes at once rather than leaving ◌ි behind. With a selection it removes exactly the selection. After ක්ය it removes ය and the joiner before it, leaving ක් with no lone joiner. To change only the sign, press Backspace and type the syllable again, or use Undo, which takes back each step.
- Why do I see boxes or separate letters instead of joined Sinhala?
- Your browser draws the letters with the fonts on your device. With no Sinhala font they show as empty boxes, and the page says so under the box when it measures that; a font without the joined forms may draw ක්ය as ක් beside ය. The text itself is not affected: the code points under the box show exactly what is stored, and Copy and the .txt file keep them, so the text displays properly where a full Sinhala font is installed.
Character entry by an explicit scheme, not translation or predictive typing: a spelling gives the same code points every time, and the whole mapping is written out on the page. Independent vowels such as ඉ and vowel signs such as ◌ි stay distinct, every sign is stored after its consonant even where it is drawn before it, and yansaya and rakaransaya are stored with the joiner U+200D, but how joined letters are drawn depends on the Sinhala fonts on your device. Copy and the UTF-8 .txt file keep every code point exactly as entered, never normalized, for up to 1 MiB of text.