Thai Transcription Guide: Script, Tones, and ASR Reality (2026)
transcriptionthailanguages

Thai Transcription Guide: Script, Tones, and ASR Reality (2026)

BMMamane B. MoussaMay 26, 2026Updated July 2, 202611 min read

Summarize this article with:

TL;DR

Thai transcription works well for Central Thai (Bangkok-standard) on modern commercial engines, but script mechanics, tonal ambiguity, and no-space word segmentation create challenges that generic tools handle inconsistently. Specialized Thai engines like iApp Technology outperform base Whisper on dialect content. Regional varieties (Lanna, Isan, Southern Thai) are meaningfully harder and most major Western platforms acknowledge lower accuracy for them. This guide covers the language mechanics, honest engine benchmarks, and practical workflows for Thai content in 2026.

Thai transcription works for most Central Thai audio on modern commercial engines. The output you get from a well-supported tool is proper Thai script with tone marks intact. Getting there requires understanding three language-specific properties that no other major Southeast Asian language combines quite this way: a no-spaces script, a five-tone system encoded in both explicit marks and consonant class, and a register system where politeness particles change the character of every utterance.

Thai Script: What the Engine Has to Handle

Thai script (อักษรไทย) is a left-to-right abugida with 44 consonants, 15 base vowel symbols, four tone marks, and no spaces between words. The vowel symbols attach above, below, before, after, or around the consonant base. Tone marks sit above the consonant stack. This is different from Latin alphabets in ways that matter for ASR:

A sentence like "I want to eat rice" is written "ผมอยากกินข้าว" as one continuous character string. The engine must output Unicode Thai characters in the correct order, with the correct vowel position and the correct tone marks. A tool that romanizes output ("phom yak gin khao") produces text that is phonetically suggestive but unusable for Thai readers. Native script output is the baseline requirement for any serious Thai workflow.

Consonants in Thai belong to one of three classes (high, mid, low), and class determines the default tone of a syllable before any explicit tone mark is applied. Explicit tone marks (mai ek ่, mai tho ้, mai tri ๊, mai chattawa ๋) further modify tone within that class rule. This layered system means tone is partly structural and partly explicit, which is different from a tonal language like Mandarin where tone marks are always diacritics on vowels.

The Five-Tone System and ASR

Thai has five tones: mid, low, falling, high, rising. The tone of a syllable is not just a diacritic, it is determined by the interaction of consonant class, vowel length, syllable structure, and any explicit tone mark. The word "ข้าว" (khâo, rice) and "เข้า" (khâo, to enter) sound identical; meaning comes from surrounding context and character composition.

For ASR, this creates a discrimination problem. The engine hears a pitch contour and must match it to the correct tone-bearing character sequence. In clean studio audio, modern engines handle this well for standard Central Thai. In noisy audio, overlapping speakers, or informal speech where tones are reduced, errors in tone-bearing character choice are more likely.

The good news: when commercial engines output native Thai script, the tone marks appear correctly for the characters they output. The issue is whether the characters themselves are correct, not whether the marks are attached properly.

Word Segmentation: The Compounding Problem

No spaces between words is the structural challenge that makes Thai harder to post-process than any space-delimited language. An ASR system must simultaneously recognize phonemes, map them to Thai characters, and decide where word boundaries fall.

Errors compound in two directions. If the engine mishears a syllable, it may select a character sequence that changes where a valid word ends. If the segmentation is wrong, downstream tools (spell check, keyword extraction, search indexing) operate on incorrect token units.

Standard Thai writing does use spaces, but they mark phrase boundaries, not word boundaries. Within a phrase, words run together. Readers rely on context and lexical knowledge to parse correctly. Engines replicate this process using a combination of acoustic modeling and language model priors trained on large Thai corpora.

For reading and publishing, you get output that looks like normal Thai text, the no-space convention is what Thai readers expect. For NLP downstream tasks (search indexing, sentiment analysis, language processing pipelines), you need explicit word boundary markers, which requires a separate Thai word segmentation tool like PyThaiNLP applied to the transcript output.

Register and Politeness Particles

Thai has a formal register system expressed in part through sentence-final politeness particles. Men use ครับ (khráp) at the end of sentences; women use ค่ะ (khâ, falling tone) in statements and คะ (khá, high tone) in questions. Omitting these particles shifts speech to casual or even rude register depending on context. Formal and public-facing Thai content almost always includes them.

For transcription, these particles matter because they appear frequently, often multiple times per minute in polite speech, and carry tone distinctions of their own. ค่ะ and คะ differ only by tone and context; the wrong one is a register error. Engines trained on formal Thai corpora handle these well. Engines with thinner Thai training data may confuse or drop them.

Technical and business Thai also contains large quantities of English loanwords that are phonologically adapted into Thai pronunciation. "Schedule" becomes a Thai-phonology adaptation; brand names appear in Thai characters or are left in English depending on the speaker. Modern engines generally handle code-switching reasonably well: Thai words return in Thai script, English insertions return in English. Verify this on your specific audio before committing to a workflow.

Recording ready for Thai audio transcription
Recording ready for Thai audio transcription

The Dialect Reality

Central Thai (Bangkok standard, used in media, education, and government) is the variety most engines were trained on and perform best on. Three major regional varieties are meaningfully different:

Northern Thai (Lanna / Kammeuang): Sometimes classified as a separate language. Has different tonal inventory and distinct vocabulary. Training data for Lanna-specific ASR is limited. Research published in early 2026 (MDPI Applied Sciences) developed a Northern Thai dialect speech recognition system specifically because general-purpose engines trained on Central Thai perform poorly on it.

Northeastern Thai (Isan): Closely related to Lao. Benchmark results from Typhoon ASR (a Thai-specialized model) show roughly 10-11% character error rate on Isan content even with a dedicated model. General-purpose Western commercial engines are likely worse. The Isan-Lao similarity also means auto-language-detection can mis-classify Isan recordings as Lao.

Southern Thai (Pak Tai): Distinct tonal contours from Central Thai. The smaller speaker population means less training data in most models.

For regional dialect content, the honest baseline is: Central Thai, well. Regional varieties, variable, and you should test with a short sample before committing to a workflow. This is not a training-data scarcity problem on the scale of low-resource African languages (see why AI struggles with low-resource languages for that comparison), it is a dialect divergence problem with an underrepresented majority.

How Major Engines Handle Thai in 2026

The table below reflects verified current information from vendor documentation and independent benchmarks. Per-tool accuracy percentages for your specific audio are not listed because no single benchmark covers all the variations (audio quality, dialect, domain, speaker count) that determine real accuracy.

ToolThai script outputThai support modelFree tierPricing model
Deepgram Nova-3YesNova-3 (69% WER reduction vs Nova-2 per Deepgram)Limited free tierPay-per-minute, volume tiers
AssemblyAI Universal-2YesUniversal-2 ("good accuracy" 10-25% WER tier per their docs)LimitedPay-per-minute
iApp Technology (Thai-specific)YesiApp ASR Pro (91.23% word accuracy on Common Voice 17)60 free creditsCredit-based: 1-2 IC/minute
NottaYesUndisclosed (58-language model)120 min/month, 3-min max recording$13.99/month Pro; $0 free
Otter.aiNoNot supported600 min/month (English only)$8.33/month Pro (annual)
Base Whisper large-v3Yes18-26% CER (Tier-3 per independent benchmarks)Self-hosted onlyCompute cost

A few notes on what the table shows:

Otter does not support Thai. If a workflow depends on Otter, Thai content needs a separate tool.

iApp Technology is a Thai-specialized provider with a published accuracy benchmark on a standard dataset. Their credit-based pricing (1 IC/minute base, 2 IC/minute Pro; roughly 53-107 THB per hour at bulk rates, plus 7% VAT) is the relevant model for high-volume Thai professional use in Thailand. New accounts receive 60 free credits.

Deepgram's Nova-3 expansion to Thai is their most recent improvement, claiming a 69% relative WER reduction over Nova-2 in streaming mode. Streaming is the more demanding benchmark, so the improvement is real even if the absolute starting point was high.

Base Whisper large-v3 independently benchmarked at 18-26% CER for Thai, which is meaningful degradation compared to English. Fine-tuned Thai Whisper variants (like Typhoon Whisper large-v3) can reach 4-6% CER on standard benchmarks with proper data curation, but you need a fine-tuned model, not the base model.

For a broader look at how engines compare on pricing, see the speech-to-text API pricing comparison.

Practical Workflows for Thai Content

Setting language explicitly: Always specify Thai (th or th-TH depending on the API). Auto-detection makes the Isan/Lao confusion more likely and adds a processing step with its own error rate.

Provide proper noun context where the tool allows it: Thai person names, Bangkok district names, Thai company names, and province names are transcribed as Thai script by most engines. If your platform supports a glossary or keyword prompt, seed it with the names that appear frequently. Thai names in romanized context (e.g., in emails you're quoting) may need a review pass.

For technical and scientific Thai: Many terms are English loanwords that Thai speakers pronounce with Thai phonology. The engine may return these in Thai-phonologized Thai script, in English, or inconsistently. A review pass for terminology is standard practice.

For interviews with multiple Thai speakers: Speaker diarization accuracy for formal two-speaker Thai is reasonable on commercial engines. Casual conversation with overlapping speech and Isan or Southern Thai speakers is harder. Consider recording with separated mics if diarization quality matters. For more on interview workflows, see how to transcribe an interview recording.

For SRT subtitles: Thai Unicode renders correctly on YouTube, Vimeo, and most modern video platforms. Export SRT from your transcription tool and upload directly. The subtitle generator handles Thai script in the output file. Line-break placement is automatic and follows Thai phrase structure.

For podcast show notes: Thai AI summary output varies significantly by tool. Tools that run their summary on a Thai transcript can return Thai-language chapter markers and pull quotes if their summary model supports Thai. This is worth testing specifically because some tools that transcribe Thai summarize in English only. For podcast-specific workflows, see best transcription for podcasts.

My take: for most Thai content production work, the choice is between a Thai-specialized provider (iApp for high-volume professional Thai in Thailand, credit-based pricing, known benchmarks) and a multilingual commercial API (Deepgram Nova-3 or AssemblyAI Universal-2, better for multilingual workflows or when you also need English and other languages in the same pipeline). Base Whisper alone is not the right tool for production Thai transcription given the 18-26% CER benchmarks.

If you need a clean Thai transcript without an API integration or meeting-bot setup, ConvertAudioToText handles Thai audio files directly with native script output.

FAQ

Does Otter.ai support Thai transcription?

No. Otter transcribes in English, Spanish, French, German, Japanese, and Chinese only. Thai is not a supported language on any Otter plan as of mid-2026.

Why does Thai ASR output sometimes miss word boundaries?

Thai is written without spaces between words. ASR engines must apply a word-segmentation step on top of speech recognition. Errors compound: a misheard syllable shifts where the tokenizer places boundaries, and wrong boundaries change word meaning. Well-trained engines handle standard Thai well; less-trained ones produce continuous strings that require manual cleanup.

Do AI engines preserve Thai tone marks in transcript output?

Commercial engines that output native Thai script generally preserve tone marks because they generate Unicode Thai characters directly rather than phonetic representations. The risk is when a tool outputs romanized transliteration instead of Thai script, that representation loses tonal information entirely and is not useful for Thai readers.

How accurate is Thai transcription for regional dialects like Northern Thai or Isan?

Significantly less accurate than Central Thai. Research benchmarks show that Isan ASR yields roughly 10-11% character error rate even on specialized models, and Northern Thai (Lanna) has a limited training-data pool meaning most engines were trained primarily on Central Thai. Expect 5-15 percentage points lower accuracy on regional varieties compared to Bangkok-standard speech.

What languages do AI transcription engines commonly confuse with Thai?

Lao is the most common confusion target. Thai and Lao share significant script similarities and phonological overlap. Auto-detection can mis-label Northeastern Thai (Isan), which is closely related to Lao, as Lao audio. Always set language explicitly to Thai rather than using auto-detect for Thai content.

Sources

Try transcription free

Convert any audio or video to clean, unwatermarked text — speaker labels, timestamps, and AI summaries included. First 30 minutes free, no account.

Related Articles