Navigator: language property

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

The Navigator.language read-only property returns a string representing the preferred language of the user, usually the language of the browser UI.

Value

A string representing the language version as defined in RFC 5646: Tags for Identifying Languages (also known as BCP 47). Examples of valid language codes include "en", "en-US", "fr", "fr-FR", "es-ES", etc.

Note that in Safari on iOS prior to 10.2, the country code returned is lowercase: "en-us", "fr-fr" etc.

Examples

Using Intl constructors to do language-specific formatting

The Intl constructors allow formatting content to match the rules of a given locale. You can pass navigator.language to them to format content in the locale corresponding to the user's preferred language:

js
const date = new Date("2012-05-24");

const formattedDate = new Intl.DateTimeFormat(navigator.language).format(date);

Specifications

Specification
HTML Standard
# dom-navigator-language-dev

Browser compatibility

BCD tables only load in the browser

See also