Codectionary / Developer documentation / HTML

Spellcheck Hints for Editable Text

The global spellcheck attribute can request spelling and grammar checking for editable text or disable it where suggestions would be distracting, such as identifiers. Use the exact values "true" or "false"; spellcheck="false" is not the same as simply adding a boolean attribute. Browser preferences, dictionaries and platform UI still affect what users actually see.

Syntax

<textarea spellcheck="true"></textarea>
<input type="text" spellcheck="false" value="AB12X">

Examples

Spellcheck Hints for Editable Text: working example

Save as an HTML file and open it in a browser. Expected result: The output reports Message hint: true; code hint: false. Underlines or suggestions vary by browser and user settings.

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>HTML example</title>
</head>
<body>
<p><label>Message <textarea id="message" spellcheck="true">This sentnce needs editing.</textarea></label></p>
<p><label>Reference code <input id="code" type="text" spellcheck="false" value="AB12X"></label></p>
<output id="settings"></output>
<script>
const message = document.querySelector("#message");
const code = document.querySelector("#code");
document.querySelector("#settings").textContent = `Message hint: ${message.spellcheck}; code hint: ${code.spellcheck}`;
</script>
</body>
</html>
  1. The textarea is editable prose, so spellcheck="true" requests checking. The reference code is not a word; spellcheck="false" requests no suggestions for it.
  2. The spellcheck property reflects the declared element state. It does not prove that a dictionary is installed or that the browser will show a particular underline.
  3. spellcheck is an enumerated attribute: its string value matters. A bare attribute or spellcheck="false" does not behave like ordinary boolean HTML attributes.

Best practices

  • Use spellcheck="false" for codes and exact identifiers, not for every editable field.
  • Keep a suitable lang attribute so checking tools can choose a language.
  • Do not treat spellcheck as validation or a substitute for reviewing user input.

Browser compatibility

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

Actual spelling suggestions depend on browser, language resources and user settings.

spellcheck

Desktop

Chrome
Supported
From 9
Firefox
Supported
From 2
Safari
Supported
From 5.1
Edge
Supported
From 12
Opera
Supported
From 15

Mobile

Safari on iOS
Supported
From 9.3
Chrome for Android
Supported
From 47
Firefox for Android
Supported
From 57
Samsung Internet
Supported
From 5.0

MDN BCD record for this feature · MDN reference

Support history and limitations

Chrome

  • From 9

Firefox

  • From 2

Safari

  • From 5.1

Edge

  • From 12

Opera

  • From 15

Safari on iOS

  • From 9.3
  • From 5 · Removed in 9.3 · Last supported version: 9 · Only supported on <textarea>.

Chrome for Android

  • From 47
  • From 18 · Removed in 47 · Last supported version: 46 · Partial implementation · Only supported on <textarea>.

Firefox for Android

  • From 57
  • From 4 · Removed in 57 · Last supported version: 56 · Partial implementation · Only supported on <textarea>.

Samsung Internet

  • From 5.0
  • From 1.0 · Removed in 5.0 · Last supported version: 4.2 · Partial implementation · Only supported on <textarea>.
HTMLElement.spellcheck

Desktop

Chrome
Supported
From 9
Firefox
Supported
From 2
Safari
Supported
From 5.1
Edge
Supported
From 12
Opera
Supported
By 12.1 (possibly earlier)

Mobile

Safari on iOS
Supported
From 5
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 9

Firefox

  • From 2

Safari

  • From 5.1

Edge

  • From 12

Opera

  • By 12.1 (possibly earlier)

Safari on iOS

  • From 5

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