Loading pattern...

What is Date Picker?

Date Pickers let users select dates via a calendar interface instead of typing. Can be single date, date range, or time picker. Better UX than text input—users see day of week, avoid format errors, select faster. Essential for booking, scheduling, filtering by date.

When Should You Use This?

Use date pickers for booking (hotels, flights), scheduling (meetings, deadlines), filtering (date ranges), or any date selection. Provide both calendar picker and text input for flexibility. Show current month by default. Disable invalid dates (past dates for future bookings). Support keyboard navigation. Use native pickers on mobile when possible.

Common Mistakes to Avoid

  • Calendar only—power users want to type dates; support both calendar and text input
  • Wrong default date—show current month/date, not January 1970
  • No date ranges—booking systems need start/end dates; support range selection
  • Poor mobile experience—native mobile date pickers are better than custom ones
  • Complex date math—don't make users calculate "2 weeks from now"; provide shortcuts (Today, Tomorrow, Next Week)

Real-World Examples

  • Airbnb—date range picker with blocked dates, popular dates highlighted
  • Linear—due date picker with shortcuts (Today, Tomorrow, Next Week, Custom)
  • Google Calendar—date/time picker with recurrence options
  • Notion—deadline picker with natural language input ("next friday", "in 2 weeks")

Category

Form Patterns

Tags

date-pickercalendar-pickerdate-inputdate-selectorform-pattern

Permalink

Related Patterns