<datalist>: The DATALIST Element
Last updated: 2026-10-13
<datalist>The DATALIST Element
Offers a list of suggested values for an input (with a drop-down hint) while still allowing free typing; pair with input's list attribute.
| Category | Forms |
|---|---|
| Content Model | Flow content |
| Allowed Parents | Any element that accepts flow content |
| Content Tag | Yes — requires closing </datalist> tag |
| Status | Standard |
📝 Syntax
<input list="browsers">
<datalist id="browsers">
<option value="Chrome">
<option value="Firefox">
</datalist>
▶ Example
Edit the code below and see the live result in the playground:
🌐 Browser Support
| Browser | |||||
|---|---|---|---|---|---|
| <datalist> | ✓ v1 | ✓ v12 | ✓ v1 | ✓ v1 | ✓ v1 |
| Supported in all major browsers | |||||
Tip: datalist is invisible itself; referenced via input's list attribute; hint styling varies by browser.
❓ FAQ
QWhat is the difference between datalist and select?
A
<datalist> works with <input list> to offer type-any-input plus suggestions: users can type freely or pick from the list. A <select> allows only fixed choices. Use select for constrained values, datalist for free input with hints.QHow do I connect datalist to an input?
AGive the datalist an
id and set the same value in the input's list attribute: <input list='cities'><datalist id='cities'>…</datalist>. One datalist can serve multiple inputs; each input links to only one datalist at a time.QAre there compatibility issues with datalist?
AModern browsers all support it, but the interaction differs: Chrome shows a dropdown arrow, Safari shows a suggestion overlay, and suggestion items cannot be styled. Accept these limits up front or use a JS autocomplete component instead.
🏷️ Related Tags
💡 Related Cases
More case studies coming soon — check back later.