romanization-and-tones

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:

  1. Initial consonant class — high, mid, or low. This is what the highlighting shows.
  2. Tone mark, if present: ่ (mai ek), ้ (mai tho), ๊ (mai tri), ๋ (mai chattawa).
  3. 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 in n, m, ng, y, w.
  4. 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

  1. 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.
  2. Do not learn the table in its entirety. Go row by row: start with the mid class, as it is the most frequent.
  3. 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.
  4. 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


Updated 2026-08-22