HTMLElement: spellcheck property

Baseline Widely available

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

The spellcheck property of the HTMLElement interface represents a boolean value that controls the spell-checking hint. It is available on all HTML elements, though it doesn't affect all of them.

It reflects the value of the spellcheck HTML global attribute.

Value

A boolean value that is true if the spelling and grammar of the text content in the element may be checked, false otherwise.

Examples

The following example shows how to control the spell-checking hint via script:

html
<div>
  <span id="sc-label">The spelling and grammar may be checked: </span>
  <span id="sc-element" contenteditable="true" spellcheck="true">test</span>
</div>
<input id="sc-controller" type="checkbox" checked />Enable spelling and grammar
check
js
const label = document.getElementById("sc-label");
const element = document.getElementById("sc-element");
const controller = document.getElementById("sc-controller");

controller.addEventListener("change", (e) => {
  if (controller.checked) {
    element.spellcheck = true;
    label.innerText = "The spelling and grammar may be checked: ";
  } else {
    element.spellcheck = false;
    label.innerText = "The spelling and grammar may not be checked: ";
  }
});

Note that you must enable the browser setting to check spelling and grammar.

Specifications

Specification
HTML
# dom-spellcheck-dev

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
spellcheck

Legend

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

Full support
Full support

See also