This feature is not Baseline because it does not work in some of the most widely-used browsers.
The autocapitalize property of the HTMLElement interface represents the element's capitalization behavior for user input. It is available on all HTML elements, though it doesn't affect all of them, including:
<input> and <textarea> elements.contenteditable set on it.autocapitalize doesn't affect behavior when typing on a physical keyboard. It affects the behavior of other input mechanisms such as virtual keyboards on mobile devices and voice input. This can assist users by making data entry quicker and easier, for example by automatically capitalizing the first letter of each sentence.
It reflects the value of the autocapitalize HTML global attribute.
A string that represents the element's capitalization behavior for user input. Valid values are as follows:
none or offNo autocapitalization should be applied, that is, all letters should default to lowercase.
sentences or onThe first letter of each sentence should default to a capital letter; all other letters should default to lowercase.
wordsThe first letter of each word should default to a capital letter; all other letters should default to lowercase.
charactersAll letters should default to uppercase.
The following example shows how to control capitalization behavior for user input via script:
<div>Current capitalization behavior is: <span id="ac-label"></span></div> <div id="ac-element" contenteditable="true" autocapitalize="default"> input here </div> <select id="ac-controller" type="checkbox" checked> <option value="default">default</option> <option value="none">none</option> <option value="sentences">sentences</option> <option value="words">words</option> <option value="characters">characters</option></select >Select the capitalization behavior
const label = document.getElementById("ac-label");
const element = document.getElementById("ac-element");
const controller = document.getElementById("ac-controller");
controller.addEventListener("input", (e) => {
const behavior = e.target.value;
label.textContent = behavior;
element.autocapitalize = behavior;
});
| Specification |
|---|
| HTML> # dom-autocapitalize-dev> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
autocapitalize |
6643–66Supported onHTMLInputElement and HTMLTextAreaElement only. |
79 | 111 | 5330–53Supported onHTMLInputElement and HTMLTextAreaElement only. |
No | 6643–66Supported onHTMLInputElement and HTMLTextAreaElement only. |
111 | 4730–47Supported onHTMLInputElement and HTMLTextAreaElement only. |
10.3≤3–10.3Supported onHTMLFormElement, HTMLInputElement, and HTMLTextAreaElement only. |
9.04.0–9.0Supported onHTMLInputElement and HTMLTextAreaElement only. |
6643–66Supported onHTMLInputElement and HTMLTextAreaElement only. |
10.3≤3–10.3Supported onHTMLFormElement, HTMLInputElement, and HTMLTextAreaElement only. |
autocapitalize HTML global attribute
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/autocapitalize