Updated 19-Jul-2017 • tags thai, scriptnotes

This page provides basic information about the Thai script. For similar information related to other scripts, see Script comparison table.

Click on the orange text in the features list (right column) to jump to notes and examples. Click on red text examples or highlight part of the sample text to see a list of characters. Click on the vertical blue bar (bottom right) to change font settings for the sample text.

For more details see: Character notes Script links


ข้อ 1 มนุษย์ทั้งหลายเกิดมามีอิสระและเสมอภาคกันในเกียรติศักด[เกียรติศักดิ์]และสิทธิ ต่างมีเหตุผลและมโนธรรม และควรปฏิบัติต่อกันด้วยเจตนารมณ์แห่งภราดรภาพ

ข้อ 2 ทุกคนย่อมมีสิทธิและอิสรภาพบรรดาที่กำหนดไว้ในปฏิญญานี้ โดยปราศจากความแตกต่างไม่ว่าชนิดใด ๆ ดังเช่น เชื้อชาติ ผิว เพศ ภาษา ศาสนา ความคิดเห็นทางการเมืองหรือทางอื่น เผ่าพันธุ์แห่งชาติ หรือสังคม ทรัพย์สิน กำเนิด หรือสถานะอื่น ๆ อนึ่งจะไม่มีความแตกต่างใด ๆ ตามมูลฐานแห่งสถานะทางการเมือง ทางการศาล หรือทางการระหว่างประเทศของประเทศหรือดินแดนที่บุคคลสังกัด ไม่ว่าดินแดนนี้จะเป็นเอกราช อยู่ในความพิทักษ์มิได้ปกครองตนเอง หรืออยู่ภายใต้การจำกัดอธิปไตยใด ๆ ทั้งสิ้น

Key features

Thai is an abugida. Consonant letters have an inherent vowel sound. Vowel-signs are attached to the consonant to produce a different vowel. Unlike devanagari, multiple vowel-signs may be used with a single character, and those positioned to the left of the consonant(s) are not combining characters.

Like indic scripts, thai is based on orthographic syllables, so the vowel-sign is actually attached to the syllable. An orthographic syllable includes clusters of consonants without intervening vowel sounds. These clusters are typically represented as partially merged forms, called conjuncts.

Text is written horizontally, left to right.

For more information see ScriptSource, Wikipedia or Omniglot.

Combining characters

Most of the combining characters in Thai are used for vowel-signs and tone marks.

Thai regularly combines multiple combining characters above a base consonant. There are two examples in the text below, both of which show a base character with a vowel sign and then a tone mark on top.


Context-based positioning

Combining characters need to be placed in different positions, according to the context. The example below shows the same tone character displayed at different heights, according to what falls beneath it.


Word boundaries & punctuation

Word separators

Thai words are not separated by spaces or any other character, within a phrase. Spaces do have a function in Thai text, but it is to separate phrases or sentences – they are the equivalent of the comma or period. Although the boundaries are not demarcated, there is a concept of words in the text, for example, lines are supposed to be broken at word boundaries. The following text shows the word boundaries in the example highlighted above:



Thai uses standard Latin punctuation, but deviates significantly in its use of space as a phrase marker, rather than a word separator. This means that it doesn't normally use comma or full stop characters.


Thai has a set of digits, that are used regularly.


Text layout

Line breaks & text wrap

Thai doesn't indicate word boundaries, but when Thai text is wrapped at the end of a line you should not split a word. This normally requires an application to look up in a dictionary where the word boundaries fall. As you change the width of the browser window the highlighted text above should break at the following points if you browser supports Thai wrapping:



Justification in Thai adjusts blank spaces, but also makes certain adjustments to inter-character spacing. Browsers currently tend not to justify Thai text well.

Use the control below to see how your browser justifies the text sample here.

ทุกคนเสมอกันตามกฏหมายและมีสิทธิที่จะได้รับความคุ้มครองของกฏหมายเท่าทียมกัน โดยปราศจากการเลือกปฏิบัติใด ๆ ทุกคนมีสิทธิที่จะได้รับความคุ้มครองเท่าเทียมกันจากการเลือกปฏิบัติใด ๆ อันเป็นการล่วงละเมิดปฏิญญา และจากการยุยงให้เกิดการเลือกปฏิบัติดังกล่าว

Line height

Thai places vowel and tone marks above base characters, one above the other, and can also add combining characters below the line. The complexity of these marks means that the vertical resolution needed for clearly readable Thai text is higher than for, say, Latin text. In addition, Thai tends to adds more interline spacing than Latin text does.

Here is an example of a word with combining characters above and below base characters:


Character lists by language

The Thai script characters in Unicode 10.0 are contained in a single block (not counting shared characters, such as punctuation):

The following is an incomplete list of languages and the number of characters they use, per version 31 of CLDR's lists of characters (exemplarCharacters).

Click on the links to see a list of characters with names.


Main ฯ ๆ ก ข ฃ ค ฅ ฆ ง จ ฉ ช ซ ฌ ญ ฎ ฏ ฐ ฑ ฒ ณ ด ต ถ ท ธ น บ ป ผ ฝ พ ฟ ภ ม ย ร ฤ ล ฦ ว ศ ษ ส ห ฬ อ ฮ ะ า ๅ ำ เ แ โ ใ ไ 57
Auxiliary 1
Combining ๎ ์ ็ ่ ้ ๊ ๋ ํ ั ิ ี ึ ื ุ ู ฺ 16
Punctuation ! " # ' ( ) * , - . / : @ [ ] ‐ – — ‘ ’ “ ” … ′ ″ 25
First published 11 Jul 2017. This version 2017-07-19 21:54 GMT.  •  Raise an issue.  •  Copyright r12a. Licence CC-By.