Step 13: Read a street-stall menu board
What you will be able to do
Stand at any made-to-order rice cart and read the whole board unaided: identify the dish lines, pick a protein where the board offers a choice, read Thai-numeral prices correctly, add a fried egg or upsize the portion using the add-on lines, and know in advance exactly what you will pay.
You have finished the twelve script steps, so ยินดีต้อนรับสู่ของจริง (yin-dii dtâwn-ráp sùu khǎwng jing), welcome to the real thing. This text lives on a laminated card zip-tied to the glass of a food cart, or painted in red and blue on a wooden board hanging over the wok. Nobody proofread it. It may be twenty years old, sun-bleached, and written in a looped hand-painted style where letters lose the heads you learned to rely on. That is exactly why it is the right first passage: it is short, the vocabulary repeats, and the reward for decoding it is lunch. The layout has rules, even if it looks chaotic. There are no sentences anywhere: every line is a compressed noun phrase followed by a price, because the cart, the cook, and the plate of rice supply all the grammar. Prices come last on the line, usually with no บาท written. Many carts now use Arabic numerals, but hand-painted boards and older stalls still use Thai numerals, so ๕๐ and ๖๐ have to be as automatic for you as 50 and 60. In tourist areas this skill literally pays: when a stall has two signs, the Thai-numeral board is sometimes the local price list. Do not read the board top to bottom like a book page. First find the header, because it tells you the genre of the whole stall: อาหารตามสั่ง means every line below is cooked fresh to order over rice, as opposed to a ข้าวแกง cart where pre-cooked curries sit in trays and you point. Then scan for the protein words หมู, ไก่, กุ้ง. They repeat on almost every line, so they become instant anchors: everything to their left is the dish, everything to their right is the price. Last, look at the bottom of the board for the modifier lines, the ones starting with เพิ่ม or พิเศษ or a plus sign. Those are not dishes; they attach to whatever you ordered above. Two letterform warnings before you stand at a real board. In loopless painted lettering ผ พ and ฟ collapse into near-identical humps, and บ ป differ only in an ascender that a lazy brush shortens. Do not fight these letter by letter: read whole-word shapes. หมู ไก่ กุ้ง ไข่ are short, drilled, and repeat down the board, so once you match one occurrence you have matched them all, and the protein anchors then resolve the ambiguous letters around them for free. The abbreviation logic is worth understanding rather than memorising. A board keeps a word only when it distinguishes one line from the next or is part of the dish's very name. ราดข้าว (over rice) is dropped everywhere because a plate over rice is the default way food leaves this cart. ผัด (stir-fried) is dropped when the flavour word already implies it, which is why ผัดกะเพราหมูราดข้าว shrinks to กะเพราหมู; but it survives where it is the dish's identity, which is why ข้าวผัด and ผัดซีอิ๊ว keep theirs. And ผัดซีอิ๊ว is the standard exception to the over-rice rule: it is a noodle plate, and nearly every ตามสั่ง cart cooks two or three noodle dishes alongside the rice ones. What survives on each line is the skeleton: flavour word plus protein plus number. Once you expect that skeleton, an unfamiliar board stops being a wall of script and becomes a fill-in-the-blanks exercise. Your homework this week is blunt: stand at a cart, read one full line before you order, then say the line out loud instead of pointing.
The text
| As written | Sound | Meaning |
|---|---|---|
| อาหารตามสั่ง | aa-hǎan dtaam sàng | Food made to order The header, usually the biggest text and often the only line in colour. It carries no price because it is the genre label: everything below is cooked fresh, one plate over rice. On a ข้าวแกง cart you would point at trays instead; this header tells you that here, you order in words. |
| กะเพราหมู/ไก่ ๕๐ | gà-phrao mǔu/gài hâa-sìp | Holy basil stir-fry, pork or chicken, 50 baht The slash means either protein at the same price. The name is heavily compressed: the full form is ผัดกะเพราหมูราดข้าว, but ผัด and ราดข้าว are dropped because both are assumed. The slash lives only on the board: when you order, say one side of it, gà-phrao gài khráp, and if you forget, the cook will fire back mǔu rěu gài (pork or chicken?), which is your cue, not a rebuke. Also, กะเพรา is the most misspelled word in Thailand; boards routinely write กระเพรา, so recognise it by shape, not by spelling. |
| ข้าวผัดหมู/กุ้ง ๕๐/๖๐ | khâao phàt mǔu/gûng hâa-sìp/hòk-sìp | Fried rice, pork 50, shrimp 60 Two slashes pair strictly in order: first protein takes the first price, so shrimp is the 60. Shrimp is almost always the top tier, which makes this pattern predictable once you have seen it twice. |
| ผัดซีอิ๊วหมู ๕๐ | phàt sii-íu mǔu hâa-sìp | Pork pad see ew (soy-sauce fried noodles), 50 baht ซีอิ๊ว (soy sauce) is a Teochew loanword. The ๊ tone mark you see here shows up mostly in borrowed words, so when a food word carries ๊ or ๋, suspect Chinese origin and do not fight the spelling logic. |
| หมูกระเทียม ๕๐ | mǔu grà-thiam hâa-sìp | Garlic pork over rice, 50 baht No verb at all: just pork plus garlic. Menu Thai stacks bare nouns and lets the cart supply the cooking method and the rice. If a line looks too short to be a dish, it usually is a dish anyway. |
| ไข่เจียวหมูสับ ๔๕ | khài jiao mǔu sàp sìi-sìp-hâa | Minced-pork omelette, 45 baht Head noun first, modifiers after: omelette, then what goes in it. Read Thai food names left to right as the thing, then its filling. The price also forces you to tell ๔ from ๕, a pair that blurs badly in handwriting. |
| เพิ่มไข่ดาว ๑๐ | phôem khài daao sìp | Add a fried egg, 10 baht เพิ่ม (add) marks the start of the add-on section. This is not a dish: it attaches to any plate above it. Its position near the bottom of the board is itself information. |
| พิเศษ +๑๐ | phí-sèet phôem sìp | Large portion, 10 baht extra The arithmetic + is standard board shorthand for เพิ่ม. Note what is missing: the regular size, ธรรมดา, is never written because it is the default. Boards only write what deviates from the default. |
| ใส่กล่อง +๕ | sài glàwng phôem hâa | Takeaway box, 5 baht extra The third standard modifier. Carts charge for the foam box, so eating in is literally cheaper. Expect the cook to ask thaan thîi nîi rěu glàp bâan (eating here or taking home?) before the wok even heats; this line is the written half of that exchange. |
| ข้าวเปล่า ๑๐ | khâao bplàao sìp | Plain rice, 10 baht เปล่า means plain or bare. Learn it once here and you get the next line free, because the same word builds น้ำเปล่า. Stall vocabulary recycles constantly; ten words carry most boards. |
| น้ำเปล่า ๑๐ น้ำอัดลม ๑๕ | náam bplàao sìp, náam àt-lom sìp-hâa | Drinking water 10, soft drinks 15 Two items crammed onto one line with nothing but a space between them. Real boards save space, so the numeral after each name is your only separator: when you hit a number, the item has ended. อัดลม is literally pressed wind, carbonated. |
Common mistake
Two misreadings cost real money at the cart. First, พิเศษ never means the house speciality: it means a bigger portion for the extra baht shown, and the unwritten default is ธรรมดา (tham-má-daa), the regular size. Ask for พิเศษ expecting a signature dish and you simply get more of what you ordered, plus ten baht on the bill. Second, when one line carries two proteins and two prices, they pair strictly in order: in ข้าวผัดหมู/กุ้ง ๕๐/๖๐ the shrimp is the 60, not a choice of either price. And keep ๔ and ๕ apart in handwriting; on a faded board that one stroke is the difference between 45 and 55.