W3cubDocs

/Web APIs

LanguageDetector: detect() method

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

The detect() method of the LanguageDetector interface detects the closest matching language or languages that a given text string is most likely to be written in.

Syntax

detect(input)
detect(input, options)

Parameters

input

A string representing the text to have its language detected.

options Optional

An object specifying configuration options for the detect() operation. Possible values include:

signal

An AbortSignal object instance, which allows the detect() operation to be aborted via the associated AbortController.

Return value

A Promise that fulfills with an array of objects representing the detected languages. Each object contains the following properties:

detectedLanguage

A BCP 47 language tag representing the detected language.

confidence

A number between 0 and 1 representing the AI model's confidence that the detected language is correct.

The sum of all the returned confidence values should theoretically be 1, however, it may be lower because very low confidence values are excluded from the results.

The last array element returned will always have a detectedLanguage value of und — this is an abbreviation of "undetermined", and represents the probability that the text is not written in a language the model knows.

Exceptions

InvalidStateError DOMException

Thrown if the current Document is not active.

QuotaExceededError

Thrown if the language detection operation exceeds the available inputQuota.

Examples

>

Basic detect() usage

const detector = await LanguageDetector.create({
  expectedInputLanguages: ["en-US", "zh"],
});

const results = await detector.detect(myTextString);

results.forEach((result) => {
  console.log(`${result.detectedLanguage}: ${result.confidence}`);
});

// Results in logs like this:
// la: 0.8359838724136353
// es: 0.017705978825688362
// sv: 0.012977192178368568
// en: 0.011148443445563316
// und: 0.0003214875760022551

Specifications

Browser compatibility

Desktop Mobile
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet WebView Android WebView on iOS
detect
138Availability may be subject to geographical restrictions.
No No
122Availability may be subject to geographical restrictions.
No No No No No No No No

See also

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/LanguageDetector/detect