# Codes for constructed languages

This is a list of ISO 639 codes and IETF language tags (BCP 47) for individual constructed languages, complete as of January 2023.
ISO 639-2 and ISO 639-5 also have the code art for artificial languages. The BCP 47 subtag x can be used to create a suitable private use tag for any constructed language that has not been assigned an official language tag (e.g., art-x-solresol could be used for Solresol).
The old SIL language identifiers (usually written in capitals) are officially obsolete and should no longer be used. They formed the basis of the ISO 639-3 language codes, but some SIL identifiers that had been retired before the establishment of ISO 639-3 were later assigned to different languages within ISO.
The IANA Language Subtag Registry (for IETF’s language tags defined in BCP 47) was updated on 29 July 2009 to include all ISO 639-3 and ISO 639-5 identifiers in use at that time.

## List of codes

| Language | ISO 639-1 | ISO 639-2 | ISO 639-3 | BCP 47 | Glottolog |
| Afrihili | | afh | afh | afh | afri1275 |
| Arcaicam Esperantom | | | | eo-arkaika | |
| Balaibalan | | | zba | zba | bala1318 |
| Basic English | | | | en-basiceng | |
| Blissymbols | | zbl | zbl | zbl | blis1239 |
| Blissymbols with the limited Authorized Vocabulary defined by BCI | | | | zbl-bciav | |
| Blissymbols as defined by Blissymbolics Communication International | | | | zbl-bcizbl | |
| Brithenig | | | bzt | bzt | brit1244 |
| Dutton Speedwords | | | dws | dws | dutt1234 |
| Efatese | | | | | efat1235 |
| Enochian | | | | i-enochian | |
| Eskayan | | | esy | esy | eska1234 |
| Esperanto | eo | epo | epo | eo | espe1235 |
| Esperanto with H-digraphs | | | | eo-hsistemo | |
| Esperanto with X-digraphs | | | | eo-xsistemo | |
| Europanto | | | eur | | |
| Ido | io | ido | ido | io | idoo1234 |
| Interglossa | | | igs | igs | inte1261 |
| Interlingua (IALA) | ia | ina | ina | ia | inte1239 |
| Interlingue (formerly Occidental) | ie | ile | ile occ | ie | inte1262 inte1260 |
| Interslavic | | | isv | isv | inte1263 |
| Klingon | | tlh | tlh | tlh i-klingon | klin1234 |
| Kotava | | | avk | avk | kota1280 |
| Láadan | | | ldn | ldn | laad1235 |
| Latino sine flexione | | | | la-peano | |
| Lingua Franca Nova | | | lfn | lfn | ling1267 |
| Lojban | | jbo | jbo | jbo art-lojban | lojb1234 |
| Medefaidrin | | | dmf | dmf | |
| Neo | | | neu | neu | neoa1234 |
| Novial | | | nov | nov | novi1234 |
| Original Volapük | | | | vo-rigik | |
| Palawa kani | | | | | pala1356 |
| Quenya | | | qya | qya | quen1234 |
| Romanova | | | rmv | rmv | roma1338 |
| Sindarin | | | sjn | sjn | sind1281 |
| Talossan | | | tzl | tzl | talo1253 |
| Toki Pona | | | tok | tok | toki1239 |
| Volapük | vo | vol | vol | vo vo-nulik | vola1234 |
BCP 47 has also reserved simple for simplified languages.

### Writing systems

When a constructed language has multiple writing systems, the following BCP 47 tags can be used to differentiate between them.
| Language | Script | BCP 47 |
| Interslavic | Latin | isv-Latn |
| Interslavic | Cyrillic | isv-Cyrl |
| Klingon | Latin | tlh-Latn |
| Klingon | KLI pIqaD | tlh-Piqd |
| Lingua Franca Nova | Latin | lfn-Latn |
| Lingua Franca Nova | Cyrillic | lfn-Cyrl |
| Quenya | Latin | qya-Latn |
| Quenya | Tengwar | qya-Teng |
| Quenya | Cirth | qya-Cirt |
| Quenya | Sarati | qya-Sara |
| Sindarin | Latin | sjn-Latn |
| Sindarin | Tengwar | sjn-Teng |
| Sindarin | Cirth | sjn-Cirt |
(This table only includes primary writing systems of each language, so it does not include examples such as Esperanto written in the Shavian alphabet.)