Reading a number aloud in Thai is not a simple digit-by-digit substitution. Thai has a special word for the tens digit two, a special word for a trailing one, and a place-name system built around the unit ล้าน (million). This tool applies all of those rules to spell any whole number correctly.
How it works
Thai digit words are ศูนย์ 0, หนึ่ง 1, สอง 2, สาม 3, สี่ 4, ห้า 5, หก 6, เจ็ด 7, แปด 8, เก้า 9. The place names (หลัก) are:
สิบ = 10
ร้อย = 100
พัน = 1,000
หมื่น = 10,000
แสน = 100,000
ล้าน = 1,000,000
Two irregularities dominate. First, the tens digit two uses ยี่ (so 20 is ยี่สิบ), and a tens digit of one drops its หนึ่ง (so 10 is สิบ, not หนึ่งสิบ). Second, a units digit of one in any number above ten is read เอ็ด instead of หนึ่ง (so 11 is สิบเอ็ด, 21 is ยี่สิบเอ็ด). For values of a million or more, the number is split into six-digit blocks joined by ล้าน, and the pattern repeats inside each block.
Example and tips
The number 21 becomes ยี่สิบเอ็ด — note both the ยี่ for twenty and the เอ็ด for the trailing one. 1,000,000 is หนึ่งล้าน, and 1,234,567 chunks into หนึ่งล้านสองแสนสามหมื่นสี่พันห้าร้อยหกสิบเจ็ด. For cheques and legal documents, this spelled form is the standard way to render an amount unambiguously.