Language Detector

Instantly identify the language of any text across 76 languages via local trigram-frequency analysis — no text is sent to a third-party vendor or AI model, and nothing is logged.

Paste text above and press Detect.

Part of ipto's Reference Data tools, alongside currency conversion and weather lookup. Detection runs against a compact statistical model bundled directly into the API — the same technique used by most offline language-ID libraries, not a network call per request.

What gets checked

language
Best-match language, with its ISO 639-1 code (e.g. fr), full name, and native name.
reliable
False for very short input (under ~30 characters) — trigram analysis needs enough text to be confident, so short strings can still return a best guess flagged as unreliable.
candidates
Up to 5 runner-up languages with their relative scores, useful when a text plausibly matches more than one closely-related language.

FAQ

Trigram-frequency analysis is the same underlying technique most commercial language-ID services use internally. It struggles most on very short text and on closely related language pairs (e.g. Croatian vs. Serbian) — check the candidates list when reliable is false.
No. Detection runs inside the same Worker that serves this page — no external API call, no logging, no AI-model inference.
Under 10 characters returns no result at all. Under ~30 characters can return a guess, but reliable will be false — short text rarely has enough distinguishing structure.
76 languages: 61 identified by trigram-frequency analysis across Latin, Cyrillic, Arabic, and Devanagari scripts, plus 15 recognized by their script alone (Chinese, Japanese, Korean, Thai, Greek, Bengali, Tamil, and others) — covering the large majority of real-world web text. Rare or minority languages outside that set will return the closest statistical match rather than an exact one.
Text is truncated to the first 5,000 characters, which is far more than detection needs — accuracy stops improving well before that.

About this tool

The language detector identifies the language of any piece of text. It supports 76 languages and returns the most likely language with a confidence value and the runner-up candidates.

How it works

Analysis happens locally on the server using statistical models of character and word patterns. The text is not sent to a third-party vendor and is not logged, which makes the tool suitable for content you would rather not share.

What to keep in mind

Very short strings, text that mixes several languages, and closely related languages such as Norwegian and Danish are inherently harder to separate, so confidence drops. Give it a sentence or more where you can.

Common uses

It helps route support tickets to the right team, choose a translation source language, set a page's language attribute automatically, and filter user-generated content by language.

Related: Currency converter · Weather lookup · User-Agent parser · IP lookup