type="text"- Single-line text. The default when type is absent or unrecognized. Use text and keyboard hints for identifiers, postal codes or card numbers.
type="search"- Search query. Search semantics and possibly native clear controls; it adds no format constraint.
type="tel"- Telephone number. May offer a phone keypad; it enforces no universal format. Add instructions and pattern if your domain requires a specific format.
type="url"- Absolute URL. Reports typeMismatch for invalid URL syntax; it does not check that the resource exists or is safe.
type="email"- Email address. Checks basic syntax, not existence or ownership. multiple allows a comma-separated list.
type="password"- Visually obscured text. Supports minlength, maxlength and pattern. Does not encrypt, prevent pasting or replace HTTPS; use appropriate autocomplete.
type="number"- Numeric quantity. min/max set the range and step sets granularity. Supports neither pattern nor maxlength; do not use it to preserve leading zeros.
type="range"- Approximate numeric value. Defaults to min=0, max=100 and step=1; the browser clamps and adjusts values. required and readonly do not apply.
type="date"- Calendar date. value uses YYYY-MM-DD even when the picker is localized. min/max are dates and step is measured in days.
type="month"- Year and month in YYYY-MM format; step is measured in months. Limited support: it may fall back to text without enforcing temporal bounds.
type="week"- ISO year and week in YYYY-Www format; step is measured in weeks. Limited support: it may fall back to text. An ISO week can belong to a different calendar year.
type="time"- Time without a zone, HH:mm or HH:mm:ss. step is measured in seconds and defaults to 60. Submitted format does not depend on the interface’s 12/24-hour clock.
type="datetime-local"- Local date and time: YYYY-MM-DDTHH:mm. Contains no time zone and does not convert to UTC; store the zone separately when your product needs it.
type="color"- Color picker. #RRGGBB is the interoperable base. alpha and colorspace extend input with partial support; recognizing type=color does not prove support for them.
type="checkbox"- Independent choice. Contributes name=value only when checked and enabled; without value it submits on. required requires that particular box to be checked.
type="radio"- One option per group sharing a name and form owner. required requires a group selection; use fieldset and legend for the common question.
type="file"- Local file selection. accept guides the picker, multiple allows several files and capture may suggest a camera. value cannot preload a file.
type="hidden"- Data without an interface and excluded from validation. Its value is still visible and editable with browser tools; it is never a secret or authorization proof.
type="button"- Button with no default action; value supplies its visible name. Needs JavaScript to perform an action. The button element allows richer content.
type="submit"- Submits the form and triggers validation unless novalidate/formnovalidate applies. Only the activated submitter contributes its own name=value.
type="reset"- Restores initial values and checked states; does not necessarily empty fields or clear setCustomValidity errors. May cause accidental data loss.
type="image"- Graphical submit button. Requires src and descriptive alt. Contributes click coordinates name.x/name.y, rather than the value of a regular submit button.