Testing

HTML Date Input: Browser Support, Types, Limitations

HTML date input works in Chrome 25+, Edge 13+, Firefox 57+, Opera 11+, Samsung 4+, Android 4.4+, Safari iOS 5+, and Safari macOS 14.1+. Learn the limits.

Author

Prince Dewani

May 6, 2026

The HTML date input is a set of native form input types that the WHATWG HTML Standard defines for picking dates and times in the browser. It works in Chrome 25+, Edge 13+, Firefox 57+, Opera 11+, Samsung 4+, Android 4.4+, Safari iOS 5+, and Safari 14.1+ on macOS, while Internet Explorer never added support.

This guide covers what HTML date input is, which browsers support it, the input types, how to check support, and the known limitations.

What is HTML date input?

HTML date input is a group of input element types, including date, time, datetime-local, month, and week, that the WHATWG HTML Living Standard defines for capturing date and time values. Each type renders a native picker widget, and the form submits a normalized string such as yyyy-mm-dd.

Which browsers support HTML date input?

Every modern browser supports the HTML date input. Chrome, Edge, Opera, and Samsung Internet ship the most complete pickers, while Firefox and Safari render partial widgets that miss some Chrome niceties, and Internet Explorer falls back to plain text.

Loading browser compatibility data...

HTML date input compatibility in Chrome

Chrome supports HTML date input from Chrome 25 on Windows, macOS, Linux, ChromeOS, and Android. Chrome 20 to 24 had partial support that lacked some attributes, and Chrome 4 to 19 did not support it. Every Chromium-based browser tracks Chrome and ships the same calendar picker.

HTML date input compatibility in Edge

Microsoft Edge supports HTML date input from Edge 13 on Windows. Edge 12 had partial support that fell back to a text box for some types. Chromium Edge 79+ matches Chrome and ships every date and time input the platform defines.

HTML date input compatibility in Firefox

Firefox supports HTML date input from Firefox 57 on Windows, macOS, Linux, and Android. Firefox 53 to 56 had the feature behind a flag and disabled by default, and Firefox 2 to 52 did not support it. Caniuse marks Firefox as partial because the picker still misses attributes that Chrome supports.

HTML date input compatibility in Safari

Safari supports HTML date input from Safari 14.1 on macOS, with partial coverage that does not yet match the Chrome picker. Safari 3.1 to 14 on macOS rendered the input as a plain text box. Safari iOS supports the input from version 5 with partial coverage, and reaches full support from Safari iOS 18.2.

HTML date input compatibility in Opera

Opera supports HTML date input from Opera 11 on Windows, macOS, and Linux. Opera Mobile supports it from version 73 on Android. Opera Mini does not support the input on any version, because it strips HTML5 widgets at the proxy layer.

HTML date input compatibility in Samsung Internet

Samsung Internet supports HTML date input from Samsung Internet 4 on Android. Every later release follows Chromium and ships the same date, time, datetime-local, month, and week pickers that Chrome ships, with the standard Samsung skin applied.

HTML date input compatibility in Android Browser

The Android Browser supports HTML date input from Android 4.4 (KitKat). Android 2.1 to 4.3 did not support it, and the legacy WebView on those releases falls back to a text input. Modern Android apps use the Chrome-based WebView and inherit Chrome support.

HTML date input compatibility in Internet Explorer

Internet Explorer never added HTML date input. IE 5.5 through IE 11 render every date, time, datetime-local, month, and week input as a plain text box with no validation, no formatting, and no picker. Microsoft has retired Internet Explorer 11 in favor of Edge.

Note

Note: HTML date input behavior shifts across Chrome, Firefox, Safari, and Edge. Test it on real browsers and OS with TestMu AI. Try TestMu AI free!

What are the types of HTML date and time inputs?

HTML defines five date and time input types: date, time, datetime-local, month, and week. Each type captures a different temporal value and renders a different native picker.

  • input type="date": Captures a year, month, and day. The form value is yyyy-mm-dd. Chrome, Edge, Opera, and Safari 14.1+ render a full calendar picker, while Firefox shows a partial picker.
  • input type="time": Captures hours and minutes, and optionally seconds. The form value is a 24-hour HH:mm string. The browser shows AM/PM controls in 12-hour locales while keeping the wire format consistent.
  • input type="datetime-local": Captures a date plus a local time with no timezone. The form value is yyyy-mm-ddTHH:mm. Chrome 20+, Edge 13+, Firefox 93+, Opera 11+, and Safari 14.1+ on macOS support it.
  • input type="month": Captures a year and a month with no day. The form value is yyyy-mm. Chrome and Opera ship a month picker, while Firefox and Safari fall back to a plain text field.
  • input type="week": Captures an ISO week number paired with a year. The form value is yyyy-Wxx. Only Chrome, Edge, and Opera ship a picker. Firefox, Safari, and Samsung Internet treat the input as text.

How do you check if a browser supports HTML date input?

Feature-detect the input type at runtime by setting the type attribute and reading it back. Browsers that do not recognize the type silently fall back to text, so a simple equality check tells you whether the native picker is available.

// Run in the DevTools console to test HTML date input support.
function supportsDateInput(type) {
  const input = document.createElement("input");
  input.setAttribute("type", type);
  // Browsers that do not recognize the type fall back to "text".
  return input.type === type;
}

["date", "time", "datetime-local", "month", "week"].forEach((t) => {
  console.log(t + " input supported:", supportsDateInput(t));
});

// HTMLInputElement.showPicker() opens the native picker on demand.
const probe = document.createElement("input");
probe.type = "date";
console.log("showPicker() available:", typeof probe.showPicker === "function");

If the function returns false for any type, ship a JavaScript fallback such as Flatpickr or Pikaday so users on older Safari, Internet Explorer, and Opera Mini can still pick a date. The showPicker check confirms whether you can open the picker programmatically from a click handler.

...

What are the known limitations of HTML date input?

HTML date input ships a fixed set of widgets, exposes few CSS hooks, and renders different controls per browser. That mix makes pixel-perfect cross-browser layouts hard and creates locale and accessibility quirks worth planning for.

  • Limited CSS styling: The browser draws the widget natively. Only a few WebKit and Chromium pseudo-elements such as ::-webkit-calendar-picker-indicator and ::-webkit-datetime-edit accept CSS, while Firefox exposes almost nothing.
  • Locale-driven display format: The wire value is always yyyy-mm-dd, but the rendered picker follows the browser locale. A user in en-GB sees dd/mm/yyyy while the form value stays the same.
  • Safari macOS partial gap: Safari 14.1 on macOS shipped a basic calendar picker, but it still misses keyboard navigation and accessibility hooks that Chrome exposes.
  • No native week picker on Firefox or Safari: input type="week" falls back to a text input on Firefox, Safari, and Samsung Internet, which forces the user to type the value by hand.
  • Internet Explorer fallback: IE 5.5 through 11 render every date and time input as text with no validation. Add a JavaScript polyfill or a server-side check for any IE traffic that hits the form.
  • Accessibility gaps: Screen readers and speech recognition tools handle the date picker inconsistently, especially on Safari macOS, Firefox on Android, and Internet Explorer.

In my experience, the locale-driven display is the quirk that bites teams hardest, because automated tests written against a US locale break the moment a tester swaps the OS to en-GB or de-DE.

...

Citations

All HTML date input version numbers and platform notes in this guide come from these primary sources:

Author

Prince Dewani is a Community Contributor at TestMu AI, where he manages content strategies around software testing, QA, and test automation. He is certified in Selenium, Cypress, Playwright, Appium, Automation Testing, and KaneAI. Prince has also presented academic research at the international conference PBCON-01. He further specializes in on-page SEO, bridging marketing with core testing technologies. On LinkedIn, he is followed by 4,300+ QA engineers, developers, DevOps experts, tech leaders, and AI-focused practitioners in the global testing community.

Open in ChatGPT Icon

Open in ChatGPT

Open in Claude Icon

Open in Claude

Open in Perplexity Icon

Open in Perplexity

Open in Grok Icon

Open in Grok

Open in Gemini AI Icon

Open in Gemini AI

Copied to Clipboard!
...

3000+ Browsers. One Platform.

See exactly how your site performs everywhere.

Try it free
...

Write Tests in Plain English with KaneAI

Create, debug, and evolve tests using natural language.

Try for free

Frequently asked questions

Did you find this page helpful?

More Related Hubs

TestMu AI forEnterprise

Get access to solutions built on Enterprise
grade security, privacy, & compliance

  • Advanced access controls
  • Advanced data retention rules
  • Advanced Local Testing
  • Premium Support options
  • Early access to beta features
  • Private Slack Channel
  • Unlimited Manual Accessibility DevTools Tests