Content-Language

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 HTTP Content-Language representation header is used to describe the language(s) intended for the audience, so users can differentiate it according to their own preferred language.

For example, Content-Language: de-DE indicates that the document is intended for German language speakers. The document may be written in English, not German, as part of a language course for German speakers. To indicate the language the document is written in, use the lang attribute instead.

If no Content-Language is specified, the default is that the content is intended for all language audiences. Multiple language tags are also possible, as well as applying the Content-Language header to various media types and not only to textual documents.

Header type Representation header
Forbidden header name No
CORS-safelisted response header Yes
CORS-safelisted request header Yes*

* Values can only be 0-9, A-Z, a-z, a space, or the characters *,-.;=.

Syntax

http
Content-Language: de-DE
Content-Language: en-US
Content-Language: de-DE, en-CA

Directives

language-tag

Multiple language tags are separated by a comma. Each language tag is a sequence of one or more case-insensitive subtags, each separated by a hyphen character (-). In most cases, a language tag consists of a primary language subtag that identifies a broad family of related languages (e.g., en = English) and is optionally followed by a series of subtags that refine or narrow that language's range (e.g., en-CA = the variety of English as communicated in Canada).

Note: Language tags are formally defined in BCP 47, which rely on the ISO 639 standard (quite often the ISO 639-1 code list) for language codes to be used.

Examples

Indicating the language a document is written in

The global lang attribute is used on HTML elements to indicate the language of an entire HTML document or parts of it.

html
<html lang="de"></html>

Do not use this meta element to state the document language, as shown below:

html
<meta http-equiv="content-language" content="de" />

Indicating a target audience for a resource

The Content-Language header is used to specify the page's intended audience and can indicate that this is more than one language.

http
Content-Language: de, en

Specifications

Specification
HTTP Semantics
# field.content-language

Browser compatibility

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Content-Language

Legend

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

Full support
Full support

See also