> ## Documentation Index
> Fetch the complete documentation index at: https://assemblyai.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Supported Languages

export const LanguageTable = ({languages, columns = 3}) => {
  return <div className="grid gap-2" style={{
    gridTemplateColumns: `repeat(${columns}, 1fr)`
  }}>
      {languages.map(language => <div key={language.code} className="flex justify-between items-center">
          <span>{language.name}</span>
          <code className="text-sm bg-gray-100 dark:bg-white/10 text-gray-800 dark:text-gray-200 px-2 py-1 rounded">
            {language.code}
          </code>
        </div>)}
    </div>;
};

AssemblyAI supports a wide range of languages across our speech-to-text models for pre-recorded audio. The available languages vary by model. Check out the [Models](/docs/getting-started/models) page to learn more about our different models and how to choose the best one for your use case. See our [Model selection](/docs/pre-recorded-audio/select-the-speech-model) page for more details on specifying a model in your request.

## Universal-3.5 Pro

Universal-3.5 Pro supports the following 18 languages. To automatically fall back to Universal-2 for anything outside this set, set `speech_models` to `["universal-3-5-pro", "universal-2"]` and set `language_detection` to `true`.

<LanguageTable
  languages={[
{ name: "Global English", code: "en" },
{ name: "Australian English", code: "en_au" },
{ name: "British English", code: "en_uk" },
{ name: "US English", code: "en_us" },
{ name: "Spanish", code: "es" },
{ name: "French", code: "fr" },
{ name: "German", code: "de" },
{ name: "Italian", code: "it" },
{ name: "Portuguese", code: "pt" },
{ name: "Arabic", code: "ar" },
{ name: "Danish", code: "da" },
{ name: "Dutch", code: "nl" },
{ name: "Finnish", code: "fi" },
{ name: "Hebrew", code: "he" },
{ name: "Hindi", code: "hi" },
{ name: "Japanese", code: "ja" },
{ name: "Mandarin", code: "zh" },
{ name: "Norwegian", code: "no" },
{ name: "Swedish", code: "sv" },
{ name: "Turkish", code: "tr" },
{ name: "Vietnamese", code: "vi" },
]}
  columns={2}
/>

### Regional dialects and variants

Universal-3.5 Pro goes beyond standard language support with deep understanding of regional dialects and local variants. Whether your audio features Quebecois French, Mexican Spanish, or Brazilian Portuguese, the model accurately captures speech as it's naturally spoken — including colloquial expressions, local vocabulary, and accent-specific pronunciation patterns.

<Note>
  **Dialect support**

  You do not need to specify a dialect code to get accurate dialect transcription. Universal-3.5 Pro automatically recognizes regional speech patterns when using the base language code (e.g., `fr` for all French dialects, `es` for all Spanish dialects).
</Note>

<AccordionGroup>
  <Accordion title="English dialects and variants">
    | Dialect / Variant  | Description                                                                           |
    | ------------------ | ------------------------------------------------------------------------------------- |
    | American English   | Standard US English, including regional variants (Southern, Midwestern, Northeastern) |
    | British English    | UK English, including Received Pronunciation and regional accents                     |
    | Australian English | Australian English with local expressions and pronunciation                           |
  </Accordion>

  <Accordion title="Spanish dialects and variants">
    | Dialect / Variant | Description                                                         |
    | ----------------- | ------------------------------------------------------------------- |
    | Castilian Spanish | Standard Peninsular Spanish as spoken in central and northern Spain |
    | Mexican Spanish   | Mexican Spanish with local vocabulary and pronunciation             |
    | Argentine Spanish | Rioplatense Spanish with distinctive *voseo* and pronunciation      |
    | Colombian Spanish | Colombian Spanish with regional speech patterns                     |
    | Chilean Spanish   | Chilean Spanish with rapid speech patterns and local slang          |
    | Caribbean Spanish | Cuban, Dominican, and Puerto Rican Spanish dialects                 |
    | Spanglish         | English-Spanish code-mixing common in US bilingual communities      |
  </Accordion>

  <Accordion title="French dialects and variants">
    | Dialect / Variant           | Description                                                               |
    | --------------------------- | ------------------------------------------------------------------------- |
    | Metropolitan French         | Standard Parisian French                                                  |
    | Canadian French (Quebecois) | Quebec French with distinctive vocabulary, pronunciation, and expressions |
    | Belgian French              | Belgian French with local vocabulary and pronunciation                    |
  </Accordion>

  <Accordion title="Portuguese dialects and variants">
    | Dialect / Variant    | Description                                                                |
    | -------------------- | -------------------------------------------------------------------------- |
    | Brazilian Portuguese | Brazilian Portuguese with local vocabulary, pronunciation, and expressions |
    | European Portuguese  | Standard Lisbon Portuguese with Iberian pronunciation                      |
  </Accordion>

  <Accordion title="Italian dialects and variants">
    | Dialect / Variant | Description                                        |
    | ----------------- | -------------------------------------------------- |
    | Standard Italian  | Standard Italian based on Tuscan-influenced speech |
  </Accordion>
</AccordionGroup>

## Universal-2

Universal-2 supports 99 languages. Pass the corresponding `language_code` in your transcription request to specify the language.

<LanguageTable
  languages={[
{ name: "Global English", code: "en" },
{ name: "Australian English", code: "en_au" },
{ name: "British English", code: "en_uk" },
{ name: "US English", code: "en_us" },
{ name: "Spanish", code: "es" },
{ name: "French", code: "fr" },
{ name: "German", code: "de" },
{ name: "Italian", code: "it" },
{ name: "Portuguese", code: "pt" },
{ name: "Dutch", code: "nl" },
{ name: "Hindi", code: "hi" },
{ name: "Japanese", code: "ja" },
{ name: "Chinese", code: "zh" },
{ name: "Finnish", code: "fi" },
{ name: "Korean", code: "ko" },
{ name: "Polish", code: "pl" },
{ name: "Russian", code: "ru" },
{ name: "Turkish", code: "tr" },
{ name: "Ukrainian", code: "uk" },
{ name: "Vietnamese", code: "vi" },
{ name: "Afrikaans", code: "af" },
{ name: "Albanian", code: "sq" },
{ name: "Amharic", code: "am" },
{ name: "Arabic", code: "ar" },
{ name: "Armenian", code: "hy" },
{ name: "Assamese", code: "as" },
{ name: "Azerbaijani", code: "az" },
{ name: "Bashkir", code: "ba" },
{ name: "Basque", code: "eu" },
{ name: "Belarusian", code: "be" },
{ name: "Bengali", code: "bn" },
{ name: "Bosnian", code: "bs" },
{ name: "Breton", code: "br" },
{ name: "Bulgarian", code: "bg" },
{ name: "Burmese", code: "my" },
{ name: "Catalan", code: "ca" },
{ name: "Croatian", code: "hr" },
{ name: "Czech", code: "cs" },
{ name: "Danish", code: "da" },
{ name: "Estonian", code: "et" },
{ name: "Faroese", code: "fo" },
{ name: "Galician", code: "gl" },
{ name: "Georgian", code: "ka" },
{ name: "Greek", code: "el" },
{ name: "Gujarati", code: "gu" },
{ name: "Haitian", code: "ht" },
{ name: "Hausa", code: "ha" },
{ name: "Hawaiian", code: "haw" },
{ name: "Hebrew", code: "he" },
{ name: "Hungarian", code: "hu" },
{ name: "Icelandic", code: "is" },
{ name: "Indonesian", code: "id" },
{ name: "Javanese", code: "jw" },
{ name: "Kannada", code: "kn" },
{ name: "Kazakh", code: "kk" },
{ name: "Khmer", code: "km" },
{ name: "Lao", code: "lo" },
{ name: "Latin", code: "la" },
{ name: "Latvian", code: "lv" },
{ name: "Lingala", code: "ln" },
{ name: "Lithuanian", code: "lt" },
{ name: "Luxembourgish", code: "lb" },
{ name: "Macedonian", code: "mk" },
{ name: "Malagasy", code: "mg" },
{ name: "Malay", code: "ms" },
{ name: "Malayalam", code: "ml" },
{ name: "Maltese", code: "mt" },
{ name: "Maori", code: "mi" },
{ name: "Marathi", code: "mr" },
{ name: "Mongolian", code: "mn" },
{ name: "Nepali", code: "ne" },
{ name: "Norwegian", code: "no" },
{ name: "Norwegian Nynorsk", code: "nn" },
{ name: "Occitan", code: "oc" },
{ name: "Panjabi", code: "pa" },
{ name: "Pashto", code: "ps" },
{ name: "Persian", code: "fa" },
{ name: "Romanian", code: "ro" },
{ name: "Sanskrit", code: "sa" },
{ name: "Serbian", code: "sr" },
{ name: "Shona", code: "sn" },
{ name: "Sindhi", code: "sd" },
{ name: "Sinhala", code: "si" },
{ name: "Slovak", code: "sk" },
{ name: "Slovenian", code: "sl" },
{ name: "Somali", code: "so" },
{ name: "Sundanese", code: "su" },
{ name: "Swahili", code: "sw" },
{ name: "Swedish", code: "sv" },
{ name: "Swiss German", code: "de_ch" },
{ name: "Tagalog", code: "tl" },
{ name: "Tajik", code: "tg" },
{ name: "Tamil", code: "ta" },
{ name: "Tatar", code: "tt" },
{ name: "Telugu", code: "te" },
{ name: "Thai", code: "th" },
{ name: "Tibetan", code: "bo" },
{ name: "Turkmen", code: "tk" },
{ name: "Urdu", code: "ur" },
{ name: "Uzbek", code: "uz" },
{ name: "Welsh", code: "cy" },
{ name: "Yiddish", code: "yi" },
{ name: "Yoruba", code: "yo" },
]}
  columns={2}
/>

### Accuracy metrics

The following groups Universal-2 languages by transcription accuracy, measured by Word Error Rate (WER).

<AccordionGroup>
  <Accordion title="High accuracy (≤ 10% WER)">
    English, Spanish, French, German, Indonesian, Italian, Japanese, Dutch, Polish, Portuguese, Russian, Swedish, Turkish, Ukrainian, Catalan
  </Accordion>

  <Accordion title="Good accuracy (>10% to ≤25% WER)">
    Arabic, Azerbaijani, Bulgarian, Bosnian, Mandarin Chinese, Czech, Danish,
    Greek, Estonian, Finnish, Galician, Hebrew, Hindi, Croatian, Hungarian, Korean,
    Macedonian, Malay, Norwegian, Romanian, Slovak, Swiss German,
    Tagalog, Thai, Urdu, Vietnamese
  </Accordion>

  <Accordion title="Moderate accuracy (>25% to ≤50% WER)">
    Afrikaans, Belarusian, Welsh, Persian (Farsi), Armenian, Icelandic,
    Kazakh, Lithuanian, Latvian, Maori, Marathi, Slovenian, Swahili, Tamil
  </Accordion>

  <Accordion title="Fair accuracy (>50% WER)">
    Amharic, Assamese, Bengali, Gujarati, Hausa, Javanese, Georgian, Khmer,
    Kannada, Luxembourgish, Lingala, Lao, Malayalam, Mongolian, Maltese, Burmese,
    Nepali, Occitan, Punjabi, Pashto, Sindhi, Shona, Somali, Serbian, Telugu,
    Tajik, Uzbek, Yoruba
  </Accordion>
</AccordionGroup>

## Unsupported feature behavior

Not all features are available for every language. If you enable a feature that isn't supported for the language of your audio, the API's behavior depends on how the language was specified:

* **With `language_code` (manual):** The API rejects the request and returns an error, such as `"The following models are not available in this language: speaker_labels"`. This lets you catch configuration issues before processing.
* **With `language_detection` (automatic):** The request completes normally, but any features that aren't supported for the detected language are silently omitted from the response. The transcription itself still succeeds. This is because the language isn't known until after the request is submitted, so the API can't validate feature compatibility upfront.

<Tip>
  To avoid unexpected results when using Automatic Language Detection, use the `language_code` and `language_confidence` fields in the response to verify the detected language and handle cases where a feature may not have been applied.
</Tip>
