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
# dom-navigator-language-dev

Browser compatibility

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
language

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
See implementation notes.

See also