Zero Signup ToolsFree browser tools

Developer Tools

Language Code Lookup

Look up ISO 639-1, ISO 639-2/3, and BCP 47 language tags. Endonym, script, direction, family, hreflang, and HTML lang snippets. Includes a BCP 47 validator.

Script

Direction

Family

LatinLTRIndo-European

English

English

ISO 639-1

en

Two-letter code used in HTML lang

ISO 639-2/3

eng

Three-letter code (terminological)

Bibliographic 639-2

Same as terminological

Legacy 639-2/B form

Common BCP 47 tags

enen-USen-GBen-CAen-AUen-NZen-INen-IE

HTML lang attribute

<html lang="en" dir="ltr">

Set the page language and direction

hreflang link tags

<link rel="alternate" hreflang="en" href="https://example.com/en/" />
<link rel="alternate" hreflang="en-US" href="https://example.com/en-us/" />
<link rel="alternate" hreflang="en-GB" href="https://example.com/en-gb/" />
<link rel="alternate" hreflang="en-CA" href="https://example.com/en-ca/" />

One alternate URL per region

Accept-Language header

Accept-Language: en,en;q=0.9,en;q=0.8

Browser preference for this language

Browse 189 languages

Click any card for details

Export the filtered list

189 languages match the current filters.

af
ak
sq
am
ar
an
hy
as
ay
az
bm
ba
eu
be
bn
bh
bi
bs
br
bg
my
ca
ch
ce
ny
zh
cv
kw
co
cr
hr
cs
da
dv
nl
dz
en
eo
et
ee
fo
fj
fi
fil
fr
fy
ff
gl
ka
de
el
gn
gu
ht
ha
he
hi
ho
hu
is
io
ig
id
ia
ie
iu
ik
ga
it
ja
jv
kl
kn
kr
ks
kk
km
ki
rw
ky
kv
kg
ko
ku
kj
lo
la
lv
li
ln
lt
lu
lg
lb
mk
mg
ms
ml
mt
gv
mi
mr
mh
mn
na
nv
nd
ne
ng
nb
nn
no
ii
nr
oc
oj
or
om
os
pa
pi
fa
pl
ps
pt
qu
rm
rn
ro
ru
sa
sc
sd
se
sm
sg
sr
gd
sn
si
sk
sl
so
st
es
su
sw
ss
sv
tl
ty
tg
ta
tt
te
th
bo
ti
to
ts
tn
tr
tk
tw
ug
uk
ur
uz
ve
vi
vo
wa
cy
wo
xh
yi
yo
za
zu
yue
nan
hak
wuu
ckb
azb
tpi
lzh
jbo
tok

BCP 47 language tag validator

Paste any tag (en-US, zh-Hant-TW, de-CH-1996, es-419, sr-Cyrl-RS). The parser checks the RFC 5646 grammar locally.

Well-formed

zh-Hant-TW

  • Language

    zh

  • Script

    Hant

  • Region

    TW

Which code should I use

  • HTML lang attribute: use a BCP 47 tag. Start with the ISO 639-1 code if there is one (en, fr, zh), then add a script (zh-Hant) and a region (zh-Hant-TW) only when they actually change content or layout.
  • hreflang link tag: use the most specific tag that matches the page (en-US, en-GB, pt-BR, es-419). Add an x-default fallback when one URL serves users who do not match any region.
  • Accept-Language header: send the user's preference list with quality factors (en-US,en;q=0.9). Servers should fall back to a less specific match if the exact tag is not available.
  • Database / API field: prefer ISO 639-2/3 when you need to support more than the ~184 languages in 639-1, or BCP 47 when locale and script matter.
  • ISO 639-2/B vs T: the terminological code (T) has been the preferred form since ISO 639-2:1998. The bibliographic code (B) is kept for library catalogs and legacy formats. When in doubt, ship T.

BCP 47 tag structure

  • language: 2-3 letter ISO 639 code. Required. (en, zh, fil, ckb)
  • -Script: optional 4-letter ISO 15924 code, title case. (Hant, Hans, Cyrl, Latn, Arab)
  • -REGION: optional 2-letter ISO 3166-1 country or 3-digit UN M.49 region. (US, GB, 419 for Latin America, 001 for World)
  • -variant: optional registered variants. (1996 for German spelling reform, valencia for Valencian Catalan)
  • -u-... or -t-...: optional extensions for Unicode locale (u) or transformed content (t).
  • -x-...: optional private use. Meaning is up to the parties using it.
  • Subtags are joined with hyphens. Case is not significant, but the spec recommends lowercase language, Title Script, UPPER REGION.

How to use

  1. Search the input by code (en, eng, fr-CA), English name (Spanish), endonym (日本語), family (Turkic), or script (Devanagari). Typing an exact 2 or 3 letter code auto-selects the matching language.
  2. Use the Script, Direction, and Family chips to narrow the browse grid, for example RTL only, Cyrillic only, or Niger-Congo only.
  3. Click any card to open its detail panel. The panel shows the ISO 639-1 code, the ISO 639-2/3 terminological code, the bibliographic alternative if it differs, and the most common BCP 47 tags.
  4. Click Copy on any code card, or on the HTML lang attribute, hreflang link tag block, or Accept-Language header snippets to paste them straight into your code.
  5. Switch the export format (Alpha-2, Alpha-3, Name, Endonym) and click Copy list or Copy JSON to take the filtered list with you for a spreadsheet, dropdown, or script.
  6. Paste any BCP 47 tag into the validator at the bottom. It parses each subtag, applies the recommended case, and reports any well-formedness problems.

About this tool

Language Code Lookup is a focused reference for the language codes used to tag content for browsers, search engines, payment platforms, mobile apps, and i18n libraries. The list covers every ISO 639-1 entry (the two-letter codes used in HTML lang and most user-facing locale UIs) plus the most-needed ISO 639-2/3-only entries that ship as content on the web (Cantonese yue, Central Kurdish ckb, Filipino fil, Min Nan nan, South Azerbaijani azb, Wu wuu, Hakka hak, Tok Pisin tpi, and others). For each language the tool surfaces the alpha-2 code, the alpha-3 terminological code, the alpha-3 bibliographic code where it differs from the terminological one (deu vs ger, fra vs fre, zho vs chi, ces vs cze, isl vs ice, fas vs per, hye vs arm, eus vs baq, kat vs geo, mkd vs mac, mri vs mao, nld vs dut, ron vs rum, slk vs slo, sqi vs alb, mya vs bur, bod vs tib, cym vs wel), the English short name, the language's own native name (endonym), the default script the language is most commonly written in, the text direction (LTR or RTL), the high-level language family, and the most-used BCP 47 tags with region and script subtags (en-US, en-GB; pt-BR, pt-PT; zh-Hans-CN, zh-Hant-TW; sr-Cyrl-RS, sr-Latn-RS; es-419 for Latin America; ar-EG, ar-SA, ar-MA). Three copy-ready snippets are emitted for the selected language: an HTML lang attribute with the matching dir, a block of hreflang link tags for the most common regions, and an Accept-Language header with conservative quality factors. A BCP 47 (RFC 5646) tag validator below parses any pasted tag (en-US, zh-Hant-TW, de-CH-1996, es-419, sr-Cyrl-RS, ar-EG, x-private-tag) into its language subtag, optional extended language, optional script, optional region, optional variants, optional extensions (u, t, and so on), and optional private-use subtag, reports whether each subtag is well-formed against the BCP 47 grammar, applies the recommended case (lowercase language, Title Script, UPPER REGION) to produce a canonical form, and flags the most common authoring mistakes (extended language subtags used outside library catalogs, script subtag present without a region, empty subtags, characters outside the [A-Za-z0-9-] set). Useful for SEO specialists writing hreflang sitemaps, frontend engineers setting the HTML lang attribute for accessibility (the lang attribute is what screen readers use to pick a pronunciation), Next.js, Astro, Nuxt, and Remix developers wiring up i18n routes, backend engineers parsing Accept-Language headers, payment and Stripe Checkout integrators picking a locale field, mobile developers naming Android resource folders (values-zh-rTW, values-pt-rBR) and iOS .lproj directories, and writers and translators looking up a language's endonym before adding a credit line. Everything is local. The data ships statically and nothing is uploaded.

Free to use. Works in your browser. No signup, no login.

Related tools

You may also like

All tools
All toolsDeveloper Tools