The ways to type Thai
- The system’s Thai layout. Every desktop and phone system has Kedmanee built in, and most have Pattachote; nothing to install. The layouts guide has the steps for each.
- An on-screen keyboard, such as ours, for a computer where you cannot change settings or for the odd word.
- Input frameworks on Linux. Besides the plain layouts, IBus and Fcitx offer Thai input that checks the order of what you type and refuses sequences that cannot occur, using the rules of the libthai library.
- Voice typing on phones works for Thai and is handy for long messages; check the result, because names and rare words come out wrong.
Kedmanee against phonetic input
Phonetic keyboards put Thai letters on the Latin keys that sound most like them, and transliteration tools turn romanised text into Thai script as you type. Both promise that you can type Thai without learning a new layout, and both run into the same wall: Thai has several letters for most sounds (four for s, six for th), and a romanisation does not say which one a word uses, or which tone mark it carries. You end up choosing from lists, or correcting the software.
Kedmanee has the opposite trade-off: a few weeks of learning, then direct and fast typing of exactly the characters you mean. It also drills the alphabet, since you meet every letter by name. If you will type Thai more than occasionally, learn Kedmanee.
Pitfalls the computer will not catch
Thai vowels and tone marks are separate characters that the font places above or below a letter. That means two different strings of characters can look the same on screen, and only one of them is correct. Search, sorting, spell checking and screen readers see the characters, not the picture.
| Mistake | Looks like | Type instead |
|---|---|---|
| า then ◌ํ (or ◌ํ then า) for sara am | น้ำ | the ำ key: น, ◌้, ำ |
| Tone mark before the upper vowel | กี่ | consonant, vowel, then tone: ก, ◌ี, ◌่ |
| Two เ for แ | แก | the แ key: แ, ก |
| ฃ or ฅ for ข or ค | ขวด | ข and ค: the obsolete letters are not used in modern words |
| Thai digits and Western digits mixed | ๒๕๖๙ / 2569 | one kind throughout a document |
- ำ is one character. Sara am (U+0E33) looks like a small circle (nikkhahit) plus า, and typing those two separately can look identical. It is still a different word to every program. Use the ำ key, E on Kedmanee, and type the tone mark before it: น้ำ is น, then ◌้, then ำ.
- The order of marks matters. Thai is stored consonant first, then any vowel above or below, then the tone mark. Typed the other way round, กี่ may look the same in many fonts, but it will not match กี่ typed correctly. Some systems block the wrong order; many do not.
- What you see is not always what you have. Combining marks have no width of their own, so the cursor jumps over them and Backspace may delete only the mark you cannot see. If a word misbehaves, delete the whole cluster and retype it.
- Vowels written before the consonant are typed first. เ แ โ ใ ไ come before the consonant in storage as on screen: เก is เ then ก. Two เ in a row looks like แ and is not.
- Autocorrect and spell checkers on phones and in office software sometimes “correct” names and loanwords into common words, and English autocorrect may interfere if your keyboard thinks you are typing English. Check names and proofread messages before sending.
- Invisible characters. Text copied from web pages or PDFs can carry zero-width spaces, used to mark word breaks. They are harmless on screen but can break searches and passwords; paste as plain text, or retype, when it matters.
Typing tutors and practice
Start with the home row. On Kedmanee your left hand rests on ฟ ห ก ด and your right on ◌่ า ส ว, with เ and ◌้ under the index fingers’ reach; the bumps on F and J sit under ด and ◌่. Learn the home row first, then the rows above and below, a few keys at a time.
- keybr.com builds lessons from your mistakes, adding letters as you master them, and supports Thai Kedmanee, Pattachote and Manoonchai.
- Monkeytype offers Thai word lists of several sizes for speed practice once you know the keys.
- The on-screen keyboard shows where every character is while you type with your own keys, which is a good bridge before you touch-type.
- Copy real text. Type out a paragraph from a book or a news site each day; it trains the letter combinations that drills miss, and it is reading practice too.
Thai on phones
Phone keyboards fit the Thai layout into fewer keys per row, so the consonants are spread over two layers and the vowels and tone marks often sit on a separate key or a long press. Expect it to feel slow for a week. Word suggestions help a great deal in Thai, because they save you the tone marks and vowels. To add Thai, see the Android guide or the iPhone steps in the layouts guide.
Thai fonts for the terminal and code
Terminals and code editors use fixed-width fonts, and most popular coding fonts have no Thai letters, so Thai falls back to whatever font the system finds. Thai is also awkward in a fixed grid: the vowels and tone marks take no width of their own, and some terminals put them in a cell of their own or draw them in the wrong place. A monospaced font with Thai, set as the primary font or the first fallback, gives the best result.
The monospaced Thai fonts here are Arundina Sans Mono, Tlwg Mono, Tlwg Typewriter, Tlwg Typist and Tlwg Typo, all free to download. Tlwg Typewriter, Tlwg Typist and Tlwg Typo give a typed look; Tlwg Mono and Arundina Sans Mono are the ones to try first for code and terminals.