Language Detector
Find the likely language of a piece of text. Compare possible matches and see which results need a closer look.
How do I find out what language a text is in?
Paste a paragraph and run the language detector. It lists likely languages and shows the text it checked. Compare the suggestions before choosing a language. Short text and mixed languages can give wrong results.
Find the likely language.
Start with a paragraph rather than a name or a few words. Review the alternatives before relying on a label.
386 / 100,000 characters · Nothing is uploaded
Candidate languages and review rules
Find a language code
aarAfarabkAbkhazianaceAchineseacuAchuar-ShiwiaradaAdangmeadyAdygheafrAfrikaansagrAguarunaaiiAssyrian Neo-AramaicajgAja (Benin)alsTosk AlbanianaltSouthern AltaiamcAmahuacaameYanesha'amhAmharicamiAmisamrAmarakaeriarbStandard ArabicarlArabelaarnMapudungunastAsturianaucWaoraniayrCentral AymaraazbSouth AzerbaijaniazjNorth AzerbaijanibamBambarabanBalinesebaxBamunbbaBaatonumbciBaoulébclCentral BikolbelBelarusianbemBemba (Zambia)benBengalibfaBaribhoBhojpuribinBinibisBislamabltTai DamboaBorabodTibetanbosBosnianbreBretonbucBushibugBuginesebulBulgarianbumBulu (Cameroon)cabGarifunacakKaqchikelcatCatalancbiChachicbrCashibo-CacataibocbsCashinahuacbtChayahuitacbuCandoshi-ShapracebCebuanocesCzechcfmFalam ChinchaChamorrochjOjitlán ChinantecchkChuukesechrCherokeechvChuvashcicChickasawcjkChokwecjsShorckbCentral KurdishcmnMandarin ChinesecnhHakha ChincniAsháninkacnrMontenegrincofColoradocosCorsicancotCaquintecpuPichis AshéninkacrhCrimean TatarcriSãotomensecrsSeselwa Creole FrenchcsaChiltepec ChinanteccswSwampy CreectdTedim ChincymWelshdagDagbanidanDanishddnDendi (Benin)deuGermandgaSouthern DagaaredipNortheastern DinkadivDhivehidjeZarmaduuDrungdyoJola-FonyidyuDyuladzoDzongkhaekkStandard EstonianellModern Greek (1453-)emkEastern ManinkakanengEnglishepoEsperantoeseEse EjjaeusBasqueeveEvenevnEvenkieweEwefaoFaroesefatFantifijFijianfinFinnishfkvKven FinnishfonFonfraFrenchfryWestern FrisianfufPularfurFriulianfuvNigerian FulfuldefvrFurgaaGagagGagauzgazWest Central OromogejGengjnGonjagkpGuinea KpelleglaScottish GaelicgldNanaigleIrishglgGalicianglvManxgswSwiss GermangucWayuugugParaguayan GuaranígujGujaratigukGumuzguuYanomamögyrGuarayuhatHaitianhauHausahawHawaiianheaNorthern Qiandong MiaohebHebrewhilHiligaynonhinHindihltMatu ChinhmsSouthern Qiandong MiaohniHanihnjHmong NjuahnsCaribbean HindustanihrvCroatianhsbUpper SorbianhunHungarianhusHuastechuuMurui HuitotohyeArmenianibbIbibioiboIgboidoIdoiduIdomaiiiSichuan YiijsSoutheast IjoikeEastern Canadian InuktitutiloIlokoinaInterlingua (International Auxiliary Language Association)indIndonesianislIcelandicitaItalianjavJavanesejivShuarjpnJapanesekaaKara-KalpakkalKalaallisutkanKannadakatGeorgiankazKazakhkbdKabardiankbpKabiyèkbrKafakdeMakondekdhTemkeaKabuverdianukekKekchíkhaKhasikhkHalh MongoliankhmKhmerkinKinyarwandakirKirghizkjhKhakaskkhKhünkmbKimbundukncCentral KanurikngKoongokoiKomi-PermyakkooKonzokorKoreankqnKaondekqsNorthern KissikriKriokrlKarelianktuKituba (Democratic Republic of Congo)kwiAwa-CuaiquerladLadinolaoLaolatLatinliaWest-Central LimbalijLigurianlinLingalalitLithuanianlldLadinlnsLamnso'lobLobilotOtuholozLoziltzLuxembourgishluaLuba-LulualueLuvalelugGandalunLundalusLushailvsStandard LatvianmadMaduresemagMagahimahMarshallesemaiMaithilimalMalayalammamMammarMarathimazCentral MazahuamcdSharanahuamcfMatsésmenMende (Sierra Leone)mfqMobamicMi'kmaqminMinangkabaumiqMískitomkdMacedonianmltMaltesemnwMonmorMoromosMossimriMaorimtoTotontepec MixemxiMozarabicmxvMetlatónoc MixtecmyaBurmesemziIxcatlán MazatecnavNavajonbaNyembanblSouth NdebelendoNdongandsLow GermannhnCentral NahuatlnioNganasanniuNiueannivGilyaknjoAo NagankuBouna KulangonldDutchnnoNorwegian NynorsknobNorwegian BokmålnotNomatsiguenganpiNepali (individual language)nsoPedinyaNyanjanymNyamwezinynNyankolenziNzimaoaaOrokociOccitan (post 1500)ojbNorthwestern OjibwaokiOkiekorhOroqenossOssetianoteMezquital OtomipamPampangapanPanjabipapPapiamentopauPalauanpbbPáezpbuNorthern PashtopcdPicardpcmNigerian PidginpesIranian PersianpisPijinpiuPintupi-LuritjapltPlateau MalagasypnbWestern PanjabipolPolishponPohnpeianporPortuguesepovUpper Guinea CrioulopplPipilprsDariqucK'iche'queQuechuaqugChimborazo Highland QuichuaquhSouth Bolivian QuechuaquyAyacucho QuechuaquzCusco QuechuaqvaAmbo-Pasco QuechuaqvcCajamarca QuechuaqvhHuamalíes-Dos de Mayo Huánuco QuechuaqvmMargos-Yarowilca-Lauricocha QuechuaqvnNorth Junín QuechuaqwhHuaylas Ancash QuechuaqxnNorthern Conchucos Ancash QuechuaqxuArequipa-La Unión QuechuararRarotonganrgnRomagnolrmnBalkan RomanirohRomanshronRomanianrunRundirupMacedo-RomanianrusRussiansagSangosahYakutsanSanskritsatSantaliscoScotsseySecoyashkShillukshnShanshpShipibo-ConibosidSidamosinSinhalaskrSaraikislkSlovakslrSalarslvSloveniansmeNorthern SamismoSamoansnaShonasnkSoninkesnnSionasomSomalisotSouthern SothospaSpanishsrcLogudorese SardiniansrpSerbiansrrSerersswSwatisukSukumasunSundanesesusSususwbMaore ComoriansweSwedishswhSwahili (individual language)tahTahitiantamTamiltatTatartbzDitammaritcaTicunatdtTetun DilitelTelugutemTimnetetTetumtgkTajiktglTagalogthaThaitirTigrinyativTivtlyTalyshtobTobatoiTonga (Zambia)tojTojolabaltonTonga (Tonga Islands)topPapantla TotonactpiTok PisintsnTswanatsoTsongatszPurepechatukTurkmenturTurkishtwiTwityvTuviniantzhTzeltaltzmCentral Atlas TamazighttzoTzotziluduUdukuigUighurukrUkrainianumbUmbunduuraUrarinaurdUrduuznNorthern UzbekvaiVaivecVenetianvenVendavepVepsvieVietnamesevmwMakhuwawarWaray (Philippines)wlnWalloonwolWolofwwaWaamaxhoXhosaxsmKasemyadYaguayaoYaoyapYapeseyddEastern YiddishykgNorthern YukaghiryorYorubayrkNenetsyuaYucatecozamMiahuatlán ZapoteczdjNgazidja ComorianzghStandard Moroccan TamazightzlmMalay (individual language)zroZáparoztuGüilá ZapoteczulZuluzybYongbei Zhuang
The detector checks at most three sections of up to 2,001 characters. A score of 1 is the closest match within a section, not a probability. Mixed languages, related languages, names and short text need human review. Single-model script guesses always require review.
Three simple steps
How to use Language Detector
Paste a paragraph or open a UTF-8 text file.
Run the detector and compare its candidates, sampled sections and uncertainty notes.
Copy the suggestion or download the complete analysis and a project backup.
Common questions
Good to know
Understand the result.
Keep the original.
Is this tool free, and are my files uploaded?
This tool is free with no account required. The work happens in your browser. Your input and files are not sent to a processing server.
What are the limits and details?
Language labels are heuristic suggestions. Relative scores are not probabilities and the top score within a sample is normally 1. Related languages, short text, names and mixed-language documents can be misclassified. The pinned franc-all model covers 411 ISO 639-3 language codes. At most three sections of up to 2,001 UTF-16 characters are sampled; input up to 6,000 characters is split into contiguous sections, and longer text uses beginning, middle and end. Short, close-scoring, inconsistent and single-model script results require review. Processing stays in a browser worker with a 15-second deadline; nothing is automatically saved.