Codectionary / Developer documentation / HTML

Declaring Document and Content Languages

The lang attribute identifies the natural language of an element and its descendants. Screen readers, spellcheckers, translation tools, and CSS language selectors can use it. Set a document default and override it where a passage changes language; lang does not translate text.

Syntax

<html lang="en">
<p lang="fr">Bonjour</p>

Examples

Declaring Document and Content Languages: working example

Save as an HTML file and open it in a browser. Expected result: Three greetings appear; the French and Spanish paragraphs declare their own languages.

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Working example</title>
</head>
<body>
<p>Hello, welcome.</p>
<p lang="fr">Bonjour, bienvenue.</p>
<p lang="es">Hola, bienvenido.</p>
</body>
</html>
  1. Expected result: Three greetings appear; the French and Spanish paragraphs declare their own languages.
  2. The root language is inherited by the first paragraph.
  3. A local language attribute applies to that element’s descendants, so a mixed-language document need not choose only one language.

Best practices

  • Use valid BCP 47 language tags, such as en or pt-BR.
  • Declare actual content language instead of inferring it from a visitor’s location.

Browser compatibility

Support applies to the named feature, not every attribute or behaviour in this article. Versions refer to browsers, not operating systems.

lang

Desktop

Chrome
Supported
From 1
Firefox
Supported
From 1
Safari
Supported
By 4 (possibly earlier)
Edge
Supported
From 12
Opera
Supported
From 15

Mobile

Safari on iOS
Supported
By 3.2 (possibly earlier)
Chrome for Android
Supported
From 18
Firefox for Android
Supported
From 4
Samsung Internet
Supported
From 1.0

MDN BCD record for this feature · MDN reference

Support history and limitations

Chrome

  • From 1

Firefox

  • From 1

Safari

  • By 4 (possibly earlier)

Edge

  • From 12

Opera

  • From 15

Safari on iOS

  • By 3.2 (possibly earlier)

Chrome for Android

  • From 18

Firefox for Android

  • From 4

Samsung Internet

  • From 1.0

MDN BCD 8.1.5 · Dataset built 2026-10-08 · Mapping reviewed 2026-10-21. These dates are not individual browser-test or claim-verification dates. Unknown means the data does not establish support.

HTML Living Standard

Specifications & further reading