Pikaday is a JavaScript datepicker with a light footprint and easy style-ability with modular CSS. It’s in ‘developer preview mode’ but already looking great:

Pikaday screenshot

Why now?

Because as much as we like open standards, the HTML5 input types lack browser support and are poorly implemented in places; see Chrome (22 as of writing) below:

Chrome date input

This leaves us with a tricky situation. Normally we can safely use new web standards with the knowledge that non-supporting browsers will simply ignore them, or we can use feature detection to progressively enhance the experience. With the state of the new input types however, this unfortunately means polyfill-only for the foreseeable future.

Pikaday demo and source on GitHub.

What’s wrong with the ubiquitous jQuery UI datepicker? This little guy has been my go-to widget for many years. Trouble is the dependencies are very heavy; 50kb+ of JavaScript (minified and compressed), and several image requests. jQuery UI is great (and very much alive) but to me it feels like an all-or-nothing commitment.

Pikaday is packed below 5kb and isn’t even dependent on jQuery. It does play well with Moment.js if you need advanced formatting. This datepicker has literally been on my “projects to build” list for years. I’ve seen alternatives since but nothing I’ve been happy to develop further.

What’s next? Please report any bugs and feature requests on the GitHub issue tracker. I’m working on date range and time selection. I’ll likely ship it on a live website soon and announce a production-ready version.

(This project has delayed my redesign but rest assured it’ll happen soon!)