Language Detector

Paste any text and find out what language it is — 176 languages, with confidence scores, detected entirely in your browser.

🔒 Runs entirely in your browser — nothing you type is uploaded or stored on a server.

The Language Detector answers one question fast: what language is this text? Paste a sentence, a paragraph or a whole document and it names the language, shows how confident it is, and lists the runners-up so you can see when a call is genuinely close. It covers 176 languages — not just the obvious European ones, but Bengali, Amharic, Telugu, Khmer, Yoruba, Cebuano, Welsh and a long tail of regional languages too.

Under the hood it runs Facebook AI Research's fastText lid.176 language-identification model (CC BY-SA 3.0) — the same model used in real language pipelines — re-implemented in plain JavaScript so it executes on your own machine. It reads character n-grams rather than looking words up in a dictionary, which is why it copes with names, slang, typos and text that shares an alphabet with a dozen other languages. The first time you use the tool your browser downloads the 0.7 MB model file; after that it is cached and works with no internet connection at all.

Two modes cover the common jobs. By default the whole box is treated as one piece of text, which is what you want for identifying a document, an email or a support ticket. Tick “Detect each line separately” and every line is labelled on its own — handy for a mixed-language spreadsheet column, a translation file, or a list of comments scraped from several countries. Either way the text never leaves your device: there is no upload and no API call, so it is safe for material you could not paste into a remote translation service.

How to use

  1. Paste or type the text you want to identify into the box.
  2. Wait a moment on first use while the language model downloads (0.7 MB, cached afterwards).
  3. Read the detected language and its confidence score at the top.
  4. Check the runners-up underneath when the top score is low — close languages show up there.
  5. Tick “Detect each line separately” to label every line of a mixed-language list on its own.

Examples

Identify an unknown email
Paste the message body to see whether that enquiry is Portuguese or Spanish before you route it.
Sort a mixed export
Turn on per-line detection and label a column of user comments language by language.
Check a translation file
Confirm every line of a localisation file is actually in the language the file claims.
Tell close languages apart
Danish vs Norwegian, Indonesian vs Malay, Serbian vs Croatian — the confidence bars show how close the call really was.

Frequently asked questions

How many languages can it detect?
176, including all widely spoken languages and a long tail of regional ones. The list is fastText's lid.176 label set, which spans Latin, Cyrillic, Arabic, Devanagari, CJK, Greek, Hebrew, Thai, Ethiopic and many other scripts.
How accurate is it?
Very accurate on a sentence or more — the underlying model is a standard benchmark for language identification. Accuracy drops on very short input: a single word or a two-word phrase often exists in several languages, so the tool warns you when it has fewer than four words to work with. Closely related pairs like Danish and Norwegian, or Indonesian and Malay, are the usual sources of a genuinely uncertain result.
Does the text get uploaded?
No. The model runs in your browser as ordinary JavaScript. The only network request is the one-off download of the model file itself from this site — your text is never sent anywhere.
Why is there a download the first time?
Identifying 176 languages needs a trained model, and that model is a 0.7 MB file. Downloading it once is what lets everything else happen locally. Your browser caches it, so later visits are instant and work offline.
What does the confidence percentage mean?
It is the model's estimated probability that the text is in that language. Above roughly 90% the answer is solid; below 50% treat it as a guess and look at the alternatives listed underneath — that is usually a sign the text is too short or contains more than one language.
Can it handle text in more than one language?
Whole-text mode reports the dominant language and the alternatives give you a hint that the text is mixed. For text you know is mixed, turn on “Detect each line separately” and each line gets its own answer.
Which model does it use?
fastText's lid.176 compressed language-identification model, published by Facebook AI Research under the CC BY-SA 3.0 licence. We repacked it into a compact binary and wrote a JavaScript implementation of fastText's inference, verified to give the same answers as the original C++ library.