Thai Consonant Classes: The 20 That Unlock All 44
Affiliate disclosure: This article contains affiliate links. We may earn a small commission at no extra cost to you.
About the author
Taishi Hirano
Phuut Founder | Bangkok-based
Bangkok-based for 7 years. Founder of Phuut. Has observed how Japanese and English speakers stumble on Thai and built learning products around those patterns.
Follow Phuut on X →This article may contain ads or affiliate links.
I was waiting for a sǎam-lɔ́ɔ in front of a 7-Eleven in Sukhumvit, staring at a hand-painted sign across the street — ผัด something. I sounded it out: /pʰàt/. Then my friend, the one who’d grown up in Chiang Mai, glanced over and corrected me before I’d finished. “That’s ผ, not พ. Different class. Different tone.” Same puff of air, same vowel, same finger pointing at the same letter shape. But ผ is high class and พ is low class, and that single fact — which I had not yet internalised — was about to decide whether the dish was rising or mid. The whole tone of the word lived inside the Thai consonant classes system, not inside the tone mark or my ear. That is the article you are about to read.
What follows is the shortest honest route I know from “44 letters, no idea where to start” to “I can predict the tone of a word I’ve never seen.” We’ll cover (a) why there are three classes and what they do, (b) the 9 mid + 11 high shortcut that turns a 44-letter memorization into a 20-letter one, (c) the look-alike trap pairs that swap tone behind your back, and (d) how to use class as a runtime tool rather than a wall chart.
In this article
- Why Thai Has Three Consonant Classes (and Why That Matters for Tones)
- The 20-Letter Shortcut (9 Mid + 11 High = Done)
- Look-Alike Traps and the Class-Aspiration Connection
- How Phuut Approaches Thai Consonant Classes
Why Thai Has Three Consonant Classes (and Why That Matters for Tones)
Most learners discover consonant class the wrong way around. They learn tone marks first — ไม้เอก (mai ek), ไม้โท (mai tho) — find out the marks produce different tones on different words, and only then are told, almost as a footnote, that the consonant’s “class” is what makes the rules behave. By that point class feels like a punishment.
Reverse the order. Class is the first input to every Thai tone rule. Tone marks are the second or third. Without class, the marks can’t do anything because the same mark on a different class of consonant produces a different tone.
That equation is the frame for the rest of this article. Read it once more: tone is a function of class, vowel length, final sound, and tone mark. Class is the leftmost variable. If you don’t know it, none of the others can resolve.
So why three classes? Why not two, or four, or just one?
The short version: Thai used to have a voiced/voiceless distinction at the start of words, the same way English distinguishes /b/ from /p/. Over centuries that distinction collapsed in the spoken language — Thai today does not have a contrastive /g/ at all, for example — but the tone system was already wired up around the old categories. So the categories are still there, embedded in the writing system, even though your ears can’t hear what made them different in the first place. That’s why class feels arbitrary. It’s a fossil. A useful one, because the tone rules still run on it.
Here is the chart the rest of the article will assume:
Three rows. Three default tones in live syllables (mid, rising, mid) and three more in dead syllables (low, low, falling/high). That’s the system. Everything else — tone marks, vowel length, syllable shape — modifies those defaults.
If you’re new to the tone rules themselves, our companion piece on Thai tones walks through what each of the five tones sounds like and how to practice them. Read it after this one. Class is the variable that makes the rules in that article computable. Class is also tightly entangled with aspiration, which is the subject of our Thai aspirated consonants article — most high-class consonants are aspirated voiceless stops or voiceless fricatives, most low-class are voiced sonorants or the aspirated counterparts of the high-class ones. We’ll come back to that pairing in H2-3.
The three articles form a trilogy. Tones, aspiration, classes. You can read them in any order, but classes is the piece that finally makes the other two stop feeling like loose facts.
The 20-Letter Shortcut (9 Mid + 11 High = Done)
Here’s the punchline most charts bury under three columns of equal weight: you don’t memorize 44 consonants for class. You memorize 20.
Nine mid. Eleven high. The other 24 are low — by elimination. If a Thai consonant is not on your mid list and not on your high list, it is low class. Period. You never have to keep a separate “low list” in your head, because the low list is the default world. It’s defined by what it isn’t.
That single reframe is, in my experience, the difference between a learner who gives up on class in a week and a learner who has class internalised in ten days. Most beginner articles list low-class consonants alongside the other two with the same visual weight, which signals to your brain that you have three equally large memorization tasks. You do not. You have two small tasks and an exclusion rule.
The 9 mid-class consonants
ก จ ฎ ฏ ด ต บ ป อ
Sound them out. Most of these are already familiar if you’ve gotten through any A1 vocabulary at all:
- ก is the /k/ in ไก่ (gài, “chicken”) — the first letter most beginners learn because it leads the alphabet song.
- จ is the /tɕ/ in จาน (jaan, “plate”) — that soft “j” sound at the start.
- ด is the /d/ in เด็ก (dèk, “child”).
- ต is the /t/ in ตา (taa, “eye” or “maternal grandfather”).
- บ is the /b/ in บ้าน (bâan, “house”).
- ป is the /p/ in ปลา (plaa, “fish”) — the unaspirated /p/ from the aspirated-consonants article.
- อ is a glottal-stop placeholder used in words like อา (aa, “paternal aunt or uncle”).
- ฎ and ฏ are rare and almost only show up in Pali/Sanskrit loanwords. They share sound with ด and ต respectively. Memorize them as “the weird-looking d and t.”
That’s nine. Note that almost every one of them is either voiced (บ ด อ) or unaspirated voiceless (ก จ ต ป) — no aspiration. Hold that pattern in your head; it pays off in H2-3.
The 11 high-class consonants
ข ฃ ฉ ฐ ถ ผ ฝ ศ ษ ส ห
Same approach. Most are sounds you already meet in A1 vocabulary, and they cluster around two acoustic patterns: aspirated voiceless stops and voiceless fricatives.
- ข is /kʰ/ — the aspirated /k/ in ขาย (khǎai, “to sell”).
- ฉ is /tɕʰ/ — the aspirated soft-j in ฉัน (chǎn, “I/me,” feminine).
- ถ is /tʰ/ — the aspirated /t/ in ถนน (thanǒn, “road”).
- ผ is /pʰ/ — the aspirated /p/ in ผัด (phàt, as in pad thai).
- ฝ is /f/ — the /f/ in ฝน (fǒn, “rain”).
- ส is /s/ — the /s/ in สวย (sǔai, “beautiful”) and สวัสดี.
- ห is /h/ — the /h/ in หิว (hǐu, “hungry”).
- ฃ ฐ ศ ษ are rarer or obsolete. ฃ is an old form of ข, mostly unused today but traditionally counted in the high-class list. ฐ ศ ษ appear in loanwords and have the same sounds as ถ and ส respectively.
Eleven. And notice: almost every one carries a puff of air (ข ฉ ถ ผ) or is a voiceless fricative (ฝ ส ห ศ ษ). That’s the high-class signature.
Once those 20 are stable in your memory, the elimination rule kicks in. Any consonant you encounter — ม น ง ร ล ว พ ท ค ซ ช ฟ ย and the rest of the 24 — is low class. You did not memorize that. You inferred it.
The Chiang Mai sign that taught me this
The first time I felt the shortcut click was on a side street in Chiang Mai’s old city, near Tha Phae Gate. A handwritten chalkboard outside a kanǒm jiin shop listed five dishes, the kind of menu you can’t take a photo of fast enough before the chalk smudges. I’d been trying to read Thai signs for about two months and I was still pattern-matching every letter against a mental chart. Halfway through the third dish, I caught myself reading ผัด (phàt) and ปลา (plaa) back to back. ผ at the top of one word, ป at the start of the next. My brain wanted to call them both “p.” But by then I had drilled the 9 + 11 enough times that ผ pinged “high — aspirated, rising default” and ป pinged “mid — unaspirated, mid default” without any chart lookup. Same letter shape family, two different class behaviors, retrieved in about a second. That was the first time the system felt like a tool I owned rather than a chart I was renting.
The point of the story is not the memorization speed. It’s that class becomes a runtime input — something you compute on a sign you’ve never seen before, in the time it takes to walk past it — only after you’ve stopped treating the 24 low-class consonants as a separate memorization task. Twenty letters, drilled deliberately. Everything else: inferred.
Look-Alike Traps and the Class-Aspiration Connection
So here is the disorienting question that breaks most learners in week three:
If ผ and พ are both pronounced /pʰ/ — the same aspirated /p/ — why don’t they behave the same in tone rules?
The answer is the whole point of class. Sound is not class. ผ is high class. พ is low class. Same puff of air. Same shape of vowel that follows. Two completely different default tones on the syllable.
Look at the top four rows. Each is a pair of consonants that sound identical to an English ear — same aspirated stop or same aspirated affricate — and yet sit in different classes. ผ vs พ is the textbook case, but ถ vs ท and ข vs ค are equally common in A1 vocabulary, and ฉ vs ช rounds out the set.
The reason this pattern exists at all is the historical voicing collapse mentioned in H2-1. Long ago, พ ท ค ช were voiced; ผ ถ ข ฉ were voiceless. The voicing distinction dropped out of speech but stayed in the writing system, and the tone rules clung to it. Today the only difference your ear can hear between, say, ผ and พ in isolation is which letter shape you saw on the page — and the tone that the rules assign to the syllable.
The bottom two rows of the table show a different kind of trap: pairs that look similar on the page (ด/ต, บ/ป) but are both mid class. These are visual confusions, not class confusions. Same class, same tone behavior, just different sounds. Don’t waste worry on them past the first week.
What aspiration tells you (and what it doesn’t)
Now overlay aspiration on the class picture.
A few observations are worth pulling out of that table because they save real time downstream.
First: if a consonant is voiced (a true /b/, /d/, /m/, /n/, /ŋ/, /l/, /r/, /w/, /j/), it is almost always either mid (บ ด) or low (ม น ง ล ร ว ย). It is never high. High class is reserved for voiceless sounds. So “voiced” alone is enough to rule out high class.
Second: if a consonant is an aspirated voiceless stop (/pʰ tʰ kʰ tɕʰ/), it could be high (ผ ถ ข ฉ) or low (พ ท ค ช). That is precisely why aspiration alone does not predict tone. You also need to know which member of the high/low pair you’re looking at, which is exactly what the visual trap table above is for. This is also why our aspirated consonants article and this one keep pointing at each other: class is the missing variable that turns the aspiration distinction into a tonal prediction.
Third: if a consonant is a voiceless fricative (/s/, /f/, /h/), it is high class (ส ษ ศ ฝ ห). With one minor exception — ซ /s/ is low class. That’s a coda you keep in your back pocket; everything else in the fricative family is high.
Once that pattern lives in your head, you stop having to memorize tone defaults word by word. You see a consonant, you read its class, you assign the default tone, and you move on. Class is not a piece of trivia. It’s a lookup function you can run on any word in under a second.
How Phuut Approaches Thai Consonant Classes
The 20-letter shortcut in H2-2 only works if your eyes can recognise ผ vs พ, ถ vs ท, ข vs ค on sight — and that visual recognition is its own skill. This is where dedicated script practice does more work than romanization-based study possibly can.
Phuut’s Thai script game mode drills the visual difference between consonants in tight pairs, including the high/low pairs that share a sound. Each correct identification reinforces both the letter shape and the class it belongs to, because the class is encoded in the consonant itself; there is no separate “class” exercise. Recognising ผ on a sign in front of you already commits you to “high class” — and therefore to a particular default tone — without any conscious lookup.
The pronunciation game mode evaluates spoken attempts on the look-alike pairs from H2-3 — ผ/พ, ถ/ท, ข/ค. You produce a word, the system returns an immediate signal on whether the attempt landed. That closed loop matters more for class-sensitive pairs than for any other part of beginner Thai, because the aspiration is identical and the tone is the only acoustic differentiator. Drilling the pair in isolation builds the muscle memory; drilling it under spaced-repetition review keeps it from decaying.
Spaced repetition is the third piece. The vocabulary review system uses interval-based reviews — words and pairs return at intervals calibrated to when you’re likely to forget them. For consonant class specifically, the relapse windows tend to land around days 3, 7, and 14 of new exposure; the system cycles the look-alike pairs back through review at roughly those intervals so the contrast stays alive without your having to schedule “class review” as a separate task.
The A1 Tourist level vocabulary is class-balanced on purpose. The first few units don’t load you with only one class of initial consonant; they introduce mid, high, and low-class words alongside each other so the contrast is live from your first dozen vocabulary items. By the time you finish A1, you’ve encountered every consonant class enough times that the class-to-tone reflex is starting to feel automatic.
A short, focused daily session is the right shape for this kind of pattern work. If you find it hard to settle into one, the kind of focus music from Brain.fm pairs well with the 5-minute consonant-class drill — short, repeatable, low-friction.
The app is free to start. If you want a closed loop on consonant-class recognition and the look-alike pairs that drive tone, the Thai script game mode is where to begin.
Stop guessing — hear if your tone is right
Free on iOS
Even if you can recognize tones, producing them accurately is a different skill. Phuut gives you AI feedback so you can self-correct.
- Speak into the app, AI flags exactly which tone is off
- Sequenced from mid → falling → rising → high/low
- Paiboon transliteration shows nuance kana/romanization miss
- 5 minutes a day; most learners flip in about 3 weeks
Frequently Asked Questions
Do I really only need to memorize 20 letters for consonant class?
Yes — and that is the most important practical fact in this article. The 9 mid + 11 high lists are short, structured, and full of letters you already know from A1 vocabulary. The 24 low-class consonants do not need separate memorization because they are defined by exclusion. If a letter isn’t on your mid or high list, it is low. This single reframe cuts the task by more than half.
Why are there three classes and not two or four?
Historical Thai had a voicing distinction (voiced vs voiceless consonants) that has since merged in modern pronunciation. The three-class system preserves that ancient distinction because the tone rules still depend on it. Most low-class consonants descend from voiced ancestors; most high-class from voiceless. Mid is the middle ground. You don’t need this history to read Thai, but it explains why classes feel arbitrary — they encode information your ears can no longer hear.
Why do ผ and พ both sound like aspirated /pʰ/ but belong to different classes?
Because class is not purely about sound — it’s about which tone rules apply. ผ is high class and defaults to rising tone in a live syllable; พ is low class and defaults to mid tone in a live syllable. Same consonant sound, different tonal behavior. This is the single most disorienting fact for English speakers, and it’s why the consonant classes article and the aspirated consonants article belong together as a pair.
Can I learn consonant classes without learning to read Thai script?
Not really — class is a property of the written letter, not the spoken sound. You can learn the rules in romanization, but they don’t lock in until you can recognise ผ vs พ on sight. Plan to learn script and class together; they accelerate each other. The Phuut Thai script game mode drills the visual recognition that this article’s memorization step assumes.
How does consonant class relate to Thai tones?
Class is the first input to every tone rule. Without class, tone marks are meaningless — the same mark produces different tones depending on whether the initial consonant is high, mid, or low. Combine class with vowel length (long/short), final sound (sonorant/stop), and any tone mark, and you have the tone of the syllable. Our Thai tones article works through the tones themselves; this one gives you the class variable that makes those rules computable.
Get the cheat sheet
If a printable reference would help, grab our one-page Thai consonant classes cheat sheet (PDF) — the 9 mid + 11 high lists, the look-alike trap pairs, and the class-to-tone defaults, all formatted to fit on a single sheet.
If you want a closed loop on consonant-class recognition with immediate feedback, try Phuut free on iOS. The Thai script game mode is the part to try first.
By Taishi Hirano | Reviewed by Taishi Hirano | Last updated May 2026 | 12 min read
Stop guessing — hear if your tone is right
Free on iOS
Even if you can recognize tones, producing them accurately is a different skill. Phuut gives you AI feedback so you can self-correct.
- Speak into the app, AI flags exactly which tone is off
- Sequenced from mid → falling → rising → high/low
- Paiboon transliteration shows nuance kana/romanization miss
- 5 minutes a day; most learners flip in about 3 weeks