<isindex>
The <isindex> element was one of the earliest HTML elements, used to create a simple single-line text input for searching or querying a document. It was a primitive precursor to modern HTML forms, dating back to the very origins of the web.
This page was last updated on 2025-11-17
Deprecation Warning
This element is obsolete and should not be used. The <isindex> element was deprecated in HTML 4.01 and removed from HTML5. It has been obsolete for over two decades and was replaced by the much more capable <form> element.
The <isindex> element was extremely limited—it could only create a single text input and had no way to customize the form submission or input behavior. Modern HTML forms provide complete control over user input and form submission.
Syntax
<isindex prompt="Enter search terms: ">
This was an empty element (no closing tag) that would render a text prompt and input field. When the user entered text and pressed Enter, the browser would submit the query as part of the URL.
Historical Context
The <isindex> element dates back to the very early days of the web (early 1990s), when:
- HTML was much simpler with very few elements
- Forms didn't exist yet
- Server-side scripting was primitive
- The element was designed for simple searchable indexes
It was quickly superseded by:
- The <form> element (HTML 2.0, 1995)
- The <input> element for text fields
- Ability to create multiple form fields
- POST method for form submission
- Better control over form behavior
Modern Alternatives
Use HTML forms for all user input and search functionality:
Old Approach (Obsolete)
<isindex prompt="Search this site: ">
Modern Search Form
<form action="/search" method="get">
<label for="search">Search this site:</label>
<input type="search" id="search" name="q" placeholder="Enter search terms">
<button type="submit">Search</button>
</form>
HTML5 Search Input Type
<form action="/search" method="get" role="search">
<input type="search" name="q" aria-label="Search"
placeholder="Search..." required>
<button type="submit">
<span>Search</span>
</button>
</form>
Accessible Search Form
<search>
<form action="/search" method="get">
<label for="site-search">Search:</label>
<input type="search" id="site-search" name="q"
autocomplete="off">
<button type="submit">Go</button>
</form>
</search>
With JavaScript Enhancement
<form action="/search" method="get" id="search-form">
<input type="search" name="q" id="search-input"
list="search-suggestions">
<datalist id="search-suggestions">
<!-- Populated dynamically -->
</datalist>
<button type="submit">Search</button>
</form>
When to Avoid
Always avoid using <isindex>. There is no valid use case for this element:
- It has been obsolete since the 1990s
- It provides no control over form behavior
- It fails HTML5 validation
- Modern browsers may not support it
- <form> and <input> are far superior
- Accessibility features are impossible to add