Welcome to Vanilla Breeze
This bell pulls live notifications from /go/notify/messages — the same contract documented at /docs/concepts/service-contracts/. Static articles like this one are the no-JS / no-backend fallback.
This bell pulls live notifications from /go/notify/messages — the same contract documented at /docs/concepts/service-contracts/. Static articles like this one are the no-JS / no-backend fallback.
Controls automatic capitalization on mobile virtual keyboards. Pair with inputmode for complete mobile keyboard control.
The autocapitalize attribute controls whether and how the virtual keyboard automatically capitalizes text as the user types. It affects only mobile and tablet virtual keyboards — physical keyboards and desktop browsers are unaffected.
Applies to: <input> (text types), <textarea>, and any element with contenteditable
| Value | Behavior | Use Case |
|---|---|---|
none / off | No automatic capitalization | Usernames, email addresses, URLs, codes |
sentences | Capitalize the first letter of each sentence (the default) | General prose, comments, descriptions |
words | Capitalize the first letter of each word | Name fields, titles, headings |
characters | All characters uppercase | License plates, booking references, country codes |
<!-- Default: capitalize the first letter of each sentence --><label for="bio">Bio</label><textarea id="bio" autocapitalize="sentences" rows="3"></textarea> <!-- Capitalize the first letter of each word (name fields) --><label for="full-name">Full Name</label><input type="text" id="full-name" autocapitalize="words" autocomplete="name" /> <!-- No capitalization (usernames, codes) --><label for="handle">Username</label><input type="text" id="handle" autocapitalize="none" />
Use characters for fields where the value is always uppercase. The keyboard shifts to caps lock mode so the user does not need to toggle it manually.
<!-- All characters uppercase (license plates, country codes) --><label for="plate">License Plate</label><input type="text" id="plate" autocapitalize="characters" maxlength="8" placeholder="ABC 1234" /> <!-- Airline booking reference --><label for="booking">Booking Reference</label><input type="text" id="booking" autocapitalize="characters" maxlength="6" pattern="[A-Z0-9]{6}" placeholder="XK49BT" />
A complete form demonstrating appropriate autocapitalize values for different field types.
<form class="stacked"> <label for="first-name">First Name</label> <input type="text" id="first-name" autocapitalize="words" autocomplete="given-name" /> <label for="last-name">Last Name</label> <input type="text" id="last-name" autocapitalize="words" autocomplete="family-name" /> <label for="email">Email</label> <input type="email" id="email" autocomplete="email" /> <label for="username">Username</label> <input type="text" id="username" autocapitalize="none" autocomplete="username" /> <label for="notes">Notes</label> <textarea id="notes" autocapitalize="sentences" rows="3"></textarea> <button type="submit">Create Account</button></form>
The attribute also works on contenteditable elements, providing the same keyboard behavior outside of form fields.
<!-- Contenteditable with autocapitalize --><div contenteditable="true" autocapitalize="sentences"> Start typing here. The first letter of each sentence will be capitalized.</div>
For complete mobile keyboard control, combine autocapitalize with inputmode. Together they determine both the keyboard layout and the capitalization behavior:
inputmode="text" autocapitalize="words" — text keyboard with title-case capitalization for name fieldsinputmode="text" autocapitalize="none" — text keyboard with no auto-caps for usernamesinputmode="url" — URL keyboard (autocapitalize has no effect since URLs are case-insensitive in practice)Some input types ignore autocapitalize because the browser already knows the correct behavior:
type="email" — no capitalization (email addresses are lowercase)type="url" — no capitalizationtype="password" — no capitalizationFor these types, setting autocapitalize has no effect. The browser does the right thing automatically.
autocapitalize attribute does not change how screen readers announce the field or its content.autocomplete. Fields like names benefit from both autocapitalize="words" and autocomplete="name" — the former helps manual entry while the latter enables autofill.inputmode — control which virtual keyboard layout appearsenterkeyhint — control the Enter key label on virtual keyboardsautocorrect — control automatic text correction on mobilespellcheck — enable or disable browser spell-checkingautocomplete — browser autofill hints