Tone in Thai is not an ornament, but a part of the word. มา maa M means "to come," while หมา maa R means "dog": the same sounds, different tones, different words.
The good news is that you almost never need to memorize the tone separately from the spelling: it is calculated based on the spelling using a few short rules. This page is about exactly how that works and how to avoid memorizing these rules by heart.
Consonant class highlighting is enabled on this page—you will need it below. You can enable this same highlighting anywhere using the ส ก น button in the top panel.
How we record pronunciation
Open the Romanizer and paste some Thai text. You will get four records of the same thing—for example, ตลาด ("market"):
| Record | |
|---|---|
| Thai script | ตลาด |
| Latin | dta L laat L |
| Cyrillic | та L лаат L |
| Reading in Thai letters | ตะ + หลาด |
The last line is the most accurate: it is how the word actually sounds, written in Thai script. Note that in the second syllable, an ห appears, which is not in the original spelling: this is exactly what explains the tone, as discussed below.
Tone letters
Single letters after syllables represent the tones. The format is taken from thai-language.com, and its advantage is that the tone is not hidden in small diacritics:
| Letter | Tone | Example |
|---|---|---|
M |
mid | กิน gin M |
L |
low | จะ ja L |
H |
high | เล็ก lek H |
F |
falling | มาก maak F |
R |
rising | ขาว khaao R |
You do not need to type the tone letters in the search—the syllable letters themselves are sufficient. → How to search
Latin and Cyrillic
The Latin script follows the thai-language.com format, the same as in English-language Thai materials. It is worth getting used to: kh, ph, th are aspirated consonants, not "kh", "f", and "θ", while bp and dt are sounds between "b/p" and "d/t".
Cyrillic is the same reading using Russian letters, so you don't have to decode khr and bp until your eyes get used to them.
One detail in Cyrillic looks like a typo, but it is not: a capital О in the middle of a word. There are three different "o" sounds in Thai, and they are distinguished in Russian letters as follows:
| Thai vowel | Cyrillic | Example |
|---|---|---|
โ- — rounded, long (lips "in a tube") |
О |
โต тО |
-อ — open, long |
оо |
พอ пхоо |
| short, without its own letter | о |
ตก ток |
Since doubling is already used for length, the difference in roundness is handled by capitalization. If you see a capital О, it means the lips are rounded more than in the Russian "o".
Neither Latin nor Cyrillic provides an exact pronunciation: they are a compromise between accuracy and readability. For accuracy, refer to the reading line in Thai letters.
Where the tone comes from
The tone of a syllable is determined by four things, in this order:
- Initial consonant class — high, mid, or low. This is what the highlighting shows.
- Tone mark, if present:
่(mai ek),้(mai tho),๊(mai tri),๋(mai chattawa). - If there is no mark — live syllable or dead syllable. A dead syllable ends in a stop consonant (
k,t,p) or a short vowel without a consonant; a live syllable ends in a vowel or inn,m,ng,y,w. - For dead syllables — vowel length.
If there is no tone mark
| Class | Live | Dead short | Dead long |
|---|---|---|---|
| mid | M กิน gin M |
L จะ ja L |
L ปาก bpaak L |
| high | R ขาว khaao R |
L สิบ sip L |
L หาด haat L |
| low | M มา maa M |
H เล็ก lek H |
F มาก maak F |
Note the bottom row. For the low class, dead syllables produce different tones depending on the vowel length: short is high, long is falling. This is the only place where length affects the tone; for mid and high classes, it is not important.
If there is a tone mark
| Mark | On mid | On high | On low |
|---|---|---|---|
่ mai ek |
L ไก่ gai L |
L สี่ see L |
F ไม่ mai F |
้ mai tho |
F บ้าน baan F |
F ห้า haa F |
H ช้าง chaang H |
๊ mai tri |
H แก๊ส gaaet H |
— | — |
๋ mai chattawa |
R ตั๋ว dtua R |
— | — |
In practice, mai tri and mai chattawa are only placed on the mid class—which is why they only have one cell. When a tone mark is present, whether the syllable is live or dead no longer matters: the mark decides.
Leading Consonant (อักษรนำ)
This is the case that causes the most confusion. Sometimes the first consonant does not produce its own sound, but only passes its class to the following syllable.
Take หมา maa R — "dog." It sounds like maa, and the letter ห is not heard. But ม is of the low class and would normally produce a mid tone. The tone became rising because the class came from ห — which is high. This is also how ใหญ่ yai L and หนึ่ง neung L are structured.
Ordinary, readable consonants behave the same way. In ฝรั่ง fa L rang L, the second syllable rang starts with ร — low class. A low class with mai ek would produce a falling tone, but the tone is low because the class was passed from ฝ in the first syllable. Similarly, in ตลาด dta L laat L, the second syllable receives its class from ต, not from its own ล.
This is why "extra" ห letters appear in the reading line in Thai letters: ตลาด is read as ตะ + หลาด. This ห is the hint as to where the class came from.
The "Why" column — and why you don't need to memorize the tables
Everything described above does not need to be kept in your head. In the Romanizer, below the general record, there is a table by syllable, and it contains a why column — a ready-made tone derivation:
| syllable | latin | tone | why |
|---|---|---|---|
ตะ |
dta |
L |
mid class · dead · short → L |
หลาด |
laat |
L |
leading consonant: class from leading consonant · mid · dead · long → L |
The same hint is visible in the dictionary entry: hover your cursor over a syllable in the tone line.
This is the fastest way to learn the rules—not by memorizing the table, but by running words you encounter anyway through the romanizer and reading the explanation. After a week, the table begins to come back to you on its own because you have seen each rule dozens of times in real words.
What to do in the first week
- Enable consonant highlighting and leave it on. The initial consonant class is the first step of any rule, and the color answers it without any memorization.
- Do not learn the table in its entirety. Go row by row: start with the mid class, as it is the most frequent.
- Check yourself with the romanizer. Read a word, say the tone aloud—then verify. An error with an explanation is remembered better than a rule without an error.
- Watch the syllable boundaries. Most early mistakes are not in the consonant class, but in mistaking a dead syllable for a live one.
Romanizer as a standalone tool
The Romanizer page works without logging in: paste any Thai text and get a syllable-by-syllable breakdown. It is convenient for checking other people's transcriptions.
The same engine is open as an API—if you need Thai romanization in your own project, no key is required:
GET /api/v1/romanize?text=ตลาด
POST /api/v1/romanize {"texts": ["ตลาด", "..."], "breakdown": 1}
One request allows up to 200 texts of 500 characters each. breakdown=1 adds the syllable breakdown with tones and rules—the same data found in the table on the page.
Next steps
- How to read a dictionary entry — tone lines and hints in the article
- Phrase breakdown — if word boundaries, rather than tones, are unclear
- How to search — searching by Latin script and by sound