---
url: /components/date-pickers/guidelines.md
description: >-
  Date pickers let people select a date, or a range of dates. Date pickers can
  display past, present, or future dates.
---

# Date pickers

Date pickers let people select a date, or a range of dates. Date pickers can display past, present, or future dates.

[Overview](overview.md) · [Specs](specs.md) · **Guidelines** · [Accessibility](accessibility.md)

![A date picker opens in a form UI.](/assets/10e911a1-md5o0x3j-01.hEOuK4zz.webp)

Docked date picker on desktop

## Usage

Date pickers let people select a date or range of dates. They should be suitable for the context in which they appear.<br><br>Date pickers can be embedded into:

1. [Dialogs](../dialogs/overview.md "Dialogs provide important prompts in a user flow.") on compact [breakpoints](../../foundations/layout/breakpoints/overview.md) like mobile
2. [Text field](../text-fields/overview.md "Text fields let users enter text into a UI.") drop-downs on medium and [expanded breakpoints](../../foundations/layout/breakpoints/expanded.md "Window widths 840dp to 1199dp, such as a tablet or foldable in landscape orientation, or desktop.") like tablet and desktop

![2 date picker variations: a dialog on mobile and a dropdown within a text field on desktop.](/assets/0389b312-md5sha07-02.B1TmX4__.webp)

1. Date picker dialog on mobile
2. Date picker text field dropdown on desktop

There are three variants of date pickers:

1. Docked date picker
2. Modal date picker
3. Modal date input

![A docked date picker component.](/assets/36d6bb86-md5si8zx-03.BdXCMb_1.webp)

1\. Docked date picker

![A modal date picker component.](/assets/33402bb9-md5sj3v5-04.DF_w4xYM.webp)

2\. Modal date picker

![A modal date input component.](/assets/2bca5734-me1yy2eb-05.Cf1fIUpv.webp)

3\. Modal date input

## Anatomy

### Docked date picker

![7 elements of a docked date picker.](/assets/340f3d3f-md5skthv-06.BgUTnRWj.webp)

1. Text field
2. Menu button
3. Icon button
4. Label text
5. Menu
6. Text buttons
7. Container

![3 elements of a docked date picker.](/assets/2b6916e4-md5slanf-07.B0gTKW5Z.webp)

1\. Text field <br>2. Menu button <br>3. Menu 

<br>

### Modal date picker

![12 elements of a modal date picker.](/assets/e7e26925-md5sma00-08.C0o7682g.webp)

1. Headline 
2. Supporting text
3. Container
4. Icon button
5. Previous/next month buttons
6. Day of week labels
7. Today’s date 
8. Unselected date 
9. Text buttons
10. Selected date 
11. Menu button
12. Divider

![9 elements of a modal date picker.](/assets/f377adce-md5smpl6-09.Dv17e_dI.webp)

1. Headline
2. Supporting text
3. Container
4. Icon button
5. Unselected year 
6. Selected year 
7. Text buttons
8. Divider
9. Menu button

### Modal date input

![7 elements of a modal date input.](/assets/68ce9d9f-md5sng56-10.8N0m0sbS.webp)

1\. Headline <br>2. Supporting text<br>3. Container<br>4. Icon button<br>5. Date input<br>6. Text buttons<br>7. Divider

### Full-screen date picker

![14 elements of a full-screen date picker.](/assets/53a1b2f0-md5srxxg-11.CS_D_APE.webp)

1\. Headline<br>2. Supporting text<br>3. Icon button<br>4. Container<br>5. Text button<br>6. Icon button<br>7. Divider<br>8. Day of week labels<br>9. Today’s date <br>10. Selected date range <br>11. Unselected date <br>12. Text buttons<br>13. Selected date range start date <br>14. Month label

## Docked date picker

### Usage

Docked date pickers allow the [selection](../../foundations/interaction/selection.md "Selection lets users choose specific items to act on.") of a specific date and year. The docked date picker displays a date input field by default, and a dropdown calendar appears when the user taps on the input field. Either form of date entry can be interacted with.<br><br>Docked date pickers are ideal for navigating dates in both the near future or past and the distant future or past, as they provide multiple ways to select dates.

![Docked date picker on a desktop screen.](/assets/10782002-lwhhvs4s-12.CUl1Ystk.webp)

Docked date picker on desktop

### Behavior

Dates can be added by using a keyboard or by navigating the calendar UI; both options are immediately available when the docked date picker is accessed.

![Docked date picker with a text field and the UI picker showing the selected date.](/assets/23a98af4-md5swv36-13.i7LpfGDo.webp)

Docked date picker

<video controls src="https://firebasestorage.googleapis.com/v0/b/design-spec/o/projects%2Fgoogle-material-3%2Fimages%2Flwhi1ze1-GM3-Components-DatePickers-Guidelines-1-v01.mp4?alt=media" aria-label="Animation of a docked date picker adjusting its size to the selected month."></video>

Docked date pickers adjust size dynamically

<video controls src="https://firebasestorage.googleapis.com/v0/b/design-spec/o/projects%2Fgoogle-material-3%2Fimages%2Flwhi7618-GM3-Components-DatePickers-Guidelines-1-2-v01.mp4?alt=media" aria-label="Animation of a docked date picker changing from calendar view to year selection menu view."></video>

The year selection menu replaces the calendar view

### Month selection

Month [selection](../../foundations/interaction/selection.md "Selection lets users choose specific items to act on.") can be navigated with the corresponding back and next arrows or by tapping the dropdown menu.

![Docked date picker with a list of months May through September. August is selected.](/assets/99344ea4-md5sxs60-16.PLEmoTjk.webp)

Docked date picker month selection

### Year selection

Year selection can be navigated with the corresponding back and next arrows or by tapping the dropdown menu.

![Docked date picker with a list of years 2025 to 2029. 2025 is selected.](/assets/0be64052-md5t0t93-17.BxAM_y3j.webp)

Docked date picker year selection

## Modal date picker

### Behavior

Modal date pickers navigate across dates in several ways:

* To navigate across months, swipe horizontally
* To navigate across years, scroll vertically
* To access the year picker, tap the year

Don’t use a modal date picker to prompt for dates in the distant past or future, such as a date of birth. In these cases, use a modal input picker or a docked date picker instead.

<video controls src="https://firebasestorage.googleapis.com/v0/b/design-spec/o/projects%2Fgoogle-material-3%2Fimages%2Flwhkhvz2-GM3-Components-DatePickers-Guidelines-2-v01.mp4?alt=media" aria-label="Animation of a docked date picker being swiped horizontally to navigate across months."></video>

To navigate across months, swipe horizontally

<video controls src="https://firebasestorage.googleapis.com/v0/b/design-spec/o/projects%2Fgoogle-material-3%2Fimages%2Flwhkizck-GM3-Components-DatePickers-Guidelines-2-1-v01.mp4?alt=media" aria-label="Animation of a year picker in a docked date picker being tapped and scrolled vertically to navigate across years."></video>

To navigate across years, tap the year picker and scroll vertically

### Date range selection

Date range selection provides a start and end date. Common use cases include:

* Booking a flight
* Reserving a hotel

Modal date pickers navigate across date ranges in several ways:

* To select a range of dates, tap the start and end dates on the calendar
* To navigate across months, scroll vertically

<video controls src="https://firebasestorage.googleapis.com/v0/b/design-spec/o/projects%2Fgoogle-material-3%2Fimages%2Flwhklm21-GM3-Components-DatePickers-Guidelines-3-1-v01.mp4?alt=media" aria-label="Animation of a date range being selected on a modal date range picker."></video>

Modal date range picker

<video controls src="https://firebasestorage.googleapis.com/v0/b/design-spec/o/projects%2Fgoogle-material-3%2Fimages%2Flwhkmci9-GM3-Components-DatePickers-Guidelines-3-2-v01.mp4?alt=media" aria-label="Animation of a modal date range picker being scrolled vertically to navigate across months."></video>

Modal date range picker with vertical scroll

## Modal date input

### Usage

Modal date inputs allow the manual entry of dates using the numbers on a keyboard. People can input a date or a range of dates in a dialog.

![A modal date input component.](/assets/8cb4263f-md5t2vbx-22.PQWHjFE3.webp)

Modal date with manual input

::: tip Do
![A modal date input component showing a day in 1979, which would be difficult to choose using UI.](/assets/63ba2697-md5t44vn-23-do.BWo1mhJ6.webp)

For dates that don’t require a calendar view, the modal date input can be the default view
:::

::: tip Do
![A modal date input with hint text for entering the date.](/assets/5f19aebc-md5t675k-24-do.BjGd7uhj.webp)

Alternatively, a text field with appropriate hint text can prompt for dates, such as in a form
:::

### Behavior

You can swap between the [modal date picker](overview.md "Modal date pickers extend full-screen. They're often used for selecting a date range.") and [modal date input](overview.md "Modal date inputs allow the manual entry of dates using the numbers on a keyboard. They're often used in compact layouts.") using the edit or calendar icon.

<video controls src="https://firebasestorage.googleapis.com/v0/b/design-spec/o/projects%2Fgoogle-material-3%2Fimages%2Flwhkrz7i-GM3-Components-DatePickers-Guidelines-4-1-v01.mp4?alt=media" aria-label="Animation of a modal date picker switching to a modal date input when the range selection icon is tapped."></video>

Switching from a modal date picker to a mobile date input for selecting ranges

<video controls src="https://firebasestorage.googleapis.com/v0/b/design-spec/o/projects%2Fgoogle-material-3%2Fimages%2Flwhksla9-GM3-Components-DatePickers-Guidelines-4-2-v01.mp4?alt=media" aria-label="Animation of a modal date picker switching to a modal date input when the edit icon is tapped."></video>

Switching from a modal date picker to a modal date input for selecting a single date

### Compact breakpoint

On compact [breakpoints](../../foundations/layout/breakpoints/overview.md), such as mobile, a full-screen [modal date picker](overview.md "Modal date pickers extend full-screen. They're often used for selecting a date range.") is recommended to increase readability and touch target size. It can cover the entire screen.

![A full-screen view of modal date picker on a mobile device.](/assets/f8abdde5-md5t84q0-27.DzFM7M3n.webp)

A full-screen modal date picker on mobile

### Medium and expanded breakpoints

The docked date picker works best for medium and expanded breakpoints. It displays a date input field by default, and a dropdown calendar appears when a person taps on the input field. A person can interact with either form of date entry.<br><br>Docked date pickers are ideal for navigating dates in both the near future or past, and in the distant future or past, as they provide multiple ways to select dates.

![A docked date picker displaying a full calendar view on a large screen device.](/assets/b249cd4f-md5t9e1o-28.C5G_tgUK.webp)

A docked date picker with a full calendar view is best used on larger devices

### Selection

Selection is indicated through color, drawing visual attention. In date ranges, start and end dates are selected, while dates in-between appear connected with a subtle highlight.

<video controls src="https://firebasestorage.googleapis.com/v0/b/design-spec/o/projects%2Fgoogle-material-3%2Fimages%2Flwhkykpc-GM3-Components-DatePickers-Guidelines-5-v01.mp4?alt=media" aria-label="Animation of a modal date range picker showing visual differences between selecting a date range and today's date."></video>

Differences between selected the selected date range (August 17–23) and today's date (August 5) are shown through color and fill

### Appearing and disappearing

Like other kinds of dialogs, modal date pickers use an enter and exit transition pattern to appear on the screen.<br><br>To exit a date picker, the input can either be confirmed (**OK**) or dismissed (**Cancel**). Interacting outside of the dialog will also dismiss the [time picker](../time-pickers/overview.md "Time pickers help users select and set a specific time."). Unless one of these actions is taken, a time picker will continue to retain focus. Mobile full-screen pickers also have an additional close affordance (x) icon button and **Save** confirmation.<br><br>Docked date pickers appear just below the input field.

<video controls src="https://firebasestorage.googleapis.com/v0/b/design-spec/o/projects%2Fgoogle-material-3%2Fimages%2Flwhl1ir9-GM3-Components-DatePickers-Guidelines-6-1-v01.mp4?alt=media" aria-label="Animation of a modal date picker's enter and exit transition."></video>

Modal date pickers can be dismissed through interacting with content outside the dialog, or with the action buttons in the lower right

<video controls src="https://firebasestorage.googleapis.com/v0/b/design-spec/o/projects%2Fgoogle-material-3%2Fimages%2Flwhl2xgp-GM3-Components-DatePickers-Guidelines-6-2-v01.mp4?alt=media" aria-label="Animation of a docked date picker's calendar icon being clicked making the calendar view appear for date selection."></video>

Interacting with the input for a docked date picker makes the calendar view appear below

### Responsive layout

The sizing of the docked and modal date picker components don’t scale responsively to different breakpoints.

::: danger Don't
![Docked date picker enlarged on a large screen responsively.](/assets/a3778744-md5tb2d5-32.71fub_xa.webp)

Don’t scale the date picker responsively to a larger size
:::
