Thai is unusual: it has no sentence-ending punctuation. Within a clause the words run together with no spaces at all, and then a single space is used to mark the boundary between phrases or sentences. A line break is the strongest boundary. This makes counting Thai sentences a segmentation problem rather than a punctuation-splitting one.
Thai punctuation: what exists and what doesn’t
Thai orthography does not use a period, exclamation mark, or question mark in native text. The marks it does have serve different roles:
- Space (ช่องไฟ) — the primary phrase/sentence boundary. Within a clause or word group, characters run together with no space; a space signals that a new phrase or sentence begins.
- Line break — the strongest boundary, always treated as a sentence separator.
- ๆ (mai yamok, U+0E46) — a repetition mark that means “repeat the previous word.” It is never a sentence-ender:
คนๆmeans “each person,” not two sentences. - ฯ (paiyannoi, U+0E2F) — used to abbreviate a word, similar to an ellipsis for titles and formal names. Not a sentence terminator.
- ฯลฯ (pai yan yai) — equivalent to “etc.” — also not a sentence terminator.
Modern Thai text that targets international readers sometimes incorporates ? and !, and formal documents occasionally use a Thai equivalent of a full stop. This tool handles all of these gracefully.
How the counter works
The heuristic combines three signals in priority order:
- Line break — every newline is a sentence boundary.
- Whitespace chunk boundary — each run of non-space Thai characters between spaces is treated as one sentence or phrase unit.
- Explicit punctuation — if
.,!,?, or their full-width equivalents。!?appear, the tool honours them as additional terminators and takes whichever heuristic produces the higher sentence count (to avoid under-counting mixed-script text).
Special marks ๆ (mai yamok) and ฯ (paiyannoi) are explicitly excluded from acting as terminators.
Example
ภาษาไทยสวยงามมาก ฉันชอบเรียนภาษาไทย
This text has one space dividing two phrase units. The counter returns 2 sentence units. If the same content were written as two separate lines (with a line break between them), the count would also be 2, but each via a different signal.
ภาษาไทยสวยงามมาก
ฉันชอบเรียนภาษาไทย
Both approaches give 2, consistent with the two independent clauses.
When the count is useful
- Content length estimation. Thai reading apps and e-readers sometimes display sentence counts as a length signal since word count is unreliable without segmentation.
- Proofreading. A sentence count that seems far too high for the apparent length of a paragraph may signal that the author accidentally inserted extra spaces inside a word cluster, fragmenting the text.
- Subtitle segmentation. Subtitlers working with Thai dialogue use phrase-chunk counts to estimate card length and pacing when a translator hasn’t explicitly marked breaks.
Counts are approximate because Thai phrase/sentence boundaries are context-dependent. Everything runs locally; your text never leaves the browser.