HTML Text autocomplete Property: Text Input Autocomplete

June 19, 2025

HTML Text autocomplete Property: Enhance User Input

The HTML autocomplete property, applied to <input> elements, enhances user experience by providing suggestions as users type in a text field. This feature streamlines form filling, reduces errors, and speeds up data entry. This guide delves into the syntax, attributes, and practical implementation of the autocomplete property.

Definition and Purpose

The autocomplete attribute specifies whether a form or input field should have autocomplete enabled. When enabled, the browser predicts the user’s input based on previous entries. This attribute is especially useful for frequently entered information like names, addresses, and contact details.

Syntax

The autocomplete attribute can be used with the following values:

<input type="text" autocomplete="value">

Attributes

The autocomplete attribute can accept various values, influencing how the browser provides suggestions. Here’s a breakdown of commonly used values:

Value Description
`on` Enables autocomplete. The browser suggests values based on previous user input.
`off` Disables autocomplete. No suggestions are provided.
`name` Specifies that the field should autocomplete names.
`email` Specifies that the field should autocomplete email addresses.
`street-address` Specifies that the field should autocomplete street addresses.
`postal-code` Specifies that the field should autocomplete postal codes.
`country` Specifies that the field should autocomplete country names.
`tel` Specifies that the field should autocomplete telephone numbers.
`bday` Specifies that the field should autocomplete birthdates.
`new-password` Suggest a new password for the input field.
`current-password` Allow browser to autofill current password.

Examples

Basic Autocomplete Enabled

This example demonstrates the simplest use case: enabling autocomplete for a text input field.

<form>
  <label for="city">City:</label>
  <input type="text" id="city" name="city" autocomplete="on">
</form>

When the user starts typing, the browser will suggest previously entered city names.

Disabling Autocomplete

In some cases, you might want to disable autocomplete, especially for sensitive information.

<form>
  <label for="creditCard">Credit Card Number:</label>
  <input
    type="text"
    id="creditCard"
    name="creditCard"
    autocomplete="off"
  />
</form>

Here, the autocomplete attribute is set to off, preventing the browser from providing suggestions. 🛡️

Using Specific Autocomplete Types

To provide more context to the browser, you can use specific autocomplete types like email, name, or street-address.

<form>
  <label for="name">Name:</label>
  <input type="text" id="name" name="name" autocomplete="name" /><br /><br />

  <label for="email">Email:</label>
  <input type="email" id="email" name="email" autocomplete="email" /><br /><br />

  <label for="street">Street Address:</label>
  <input
    type="text"
    id="street"
    name="street"
    autocomplete="street-address"
  /><br /><br />

  <label for="country">Country:</label>
  <input
    type="text"
    id="country"
    name="country"
    autocomplete="country"
  /><br /><br />
</form>

The browser will now provide suggestions tailored to each field type, improving accuracy and user experience. 📧

Autocomplete for Password Fields

For new password fields, use autocomplete="new-password". For current password fields, use autocomplete="current-password".

<form>
  <label for="newPassword">New Password:</label>
  <input
    type="password"
    id="newPassword"
    name="newPassword"
    autocomplete="new-password"
  /><br /><br />

  <label for="currentPassword">Current Password:</label>
  <input
    type="password"
    id="currentPassword"
    name="currentPassword"
    autocomplete="current-password"
  /><br /><br />
</form>

This helps the browser manage and suggest passwords securely. 🔑

Real-World Application: Registration Form

Consider a registration form where you want to streamline the process for returning users while ensuring security.

<form>
  <label for="username">Username:</label>
  <input type="text" id="username" name="username" autocomplete="username" /><br /><br />

  <label for="email">Email:</label>
  <input type="email" id="email" name="email" autocomplete="email" /><br /><br />

  <label for="newPassword">New Password:</label>
  <input
    type="password"
    id="newPassword"
    name="newPassword"
    autocomplete="new-password"
  /><br /><br />

  <label for="currentPassword">Current Password:</label>
  <input
    type="password"
    id="currentPassword"
    name="currentPassword"
    autocomplete="current-password"
  /><br /><br />

  <label for="firstName">First Name:</label>
  <input
    type="text"
    id="firstName"
    name="firstName"
    autocomplete="given-name"
  /><br /><br />

  <label for="lastName">Last Name:</label>
  <input
    type="text"
    id="lastName"
    name="lastName"
    autocomplete="family-name"
  /><br /><br />

  <label for="streetAddress">Street Address:</label>
  <input
    type="text"
    id="streetAddress"
    name="streetAddress"
    autocomplete="street-address"
  /><br /><br />

  <label for="city">City:</label>
  <input type="text" id="city" name="city" autocomplete="city" /><br /><br />

  <label for="country">Country:</label>
  <input
    type="text"
    id="country"
    name="country"
    autocomplete="country"
  /><br /><br />
</form>

In this example, the autocomplete attribute is used to assist users with various fields while ensuring password fields are handled securely. 🚀

Tips and Best Practices

  • Use Specific Types: Leverage specific autocomplete types (e.g., email, street-address) to provide better suggestions.
  • Sensitive Data: Disable autocomplete for sensitive fields like credit card numbers to enhance security.
  • Test Across Browsers: Autocomplete behavior can vary between browsers, so test your forms thoroughly.
  • Consider User Privacy: Be mindful of user privacy when implementing autocomplete features.
  • Accessibility: Ensure that autocomplete suggestions are accessible to users with disabilities.

Browser Support

The autocomplete attribute is widely supported across modern browsers, ensuring consistent behavior for most users. 💯

Conclusion

The HTML autocomplete property is a valuable tool for enhancing user experience in web forms. By providing intelligent suggestions, it streamlines data entry, reduces errors, and improves overall form usability. Understanding its attributes and best practices allows developers to create more efficient and user-friendly web applications.