---
url: /components/time-pickers/guidelines.md
description: >-
  Time pickers help users select and set a specific time. There are two types of
  time pickers: dial and input.
---

# Time pickers

Time pickers help users select and set a specific time. There are two types of time pickers: dial and input.

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

![Time picker. It has a dial and keyboard input for hours and minutes, and a setting for AM or PM.](/assets/c5280335-md2pwu0i-01.B_z3kANH.webp)

Dial selector time picker for a 12-hour clock

## Usage

Time pickers allow people to enter a specific time value. They’re displayed in [dialogs](../dialogs/overview.md "Dialogs provide important prompts in a user flow.") and can be used to select hours, minutes, or periods of time.

They can be used for a wide range of scenarios. Common use cases include:

* Setting an alarm
* Scheduling a meeting

Time pickers are not ideal for nuanced or granular time [selection](../../foundations/interaction/selection.md "Selection lets users choose specific items to act on."), such as milliseconds for a stopwatch application.

::: tip Do
![Time picker with dial input selecting hour 7.](/assets/f748f010-md2q22nz-02.CPNmjQMh.webp)

Hour selection in a mobile calendar picker
:::

### Time input picker

Time input pickers allow people to specify a time using keyboard numbers. This input option should be accessible from any other mobile time picker interface by tapping the keyboard icon.

![Input time picker with keyboard active for the hour.](/assets/a31c0306-md2q5unb-03.D16jYjLI.webp)

Hour input with keyboard entry

### 24-hour time selection

The dial view can be changed to reflect time [selection](../../foundations/interaction/selection.md "Selection lets users choose specific items to act on.") across 24 hours. This option is set outside of the time picker component, typically through system settings.

![Time picker with dial input selecting hour 20. Hours 0–11 use an outer dial, hours 12–23 use an inner dial.](/assets/5262849c-md2q7fdq-04.D9ETcimT.webp)

24-hour dial view

## Anatomy

![17 elements of a dial time picker.](/assets/1f00a86b-md2u47yh-05.DKlgICw1.webp)

1. Label (headline)
2. Time selector separator
3. Input field
4. Input text 
5. Period selector (selected)
6. Period selector text (selected)
7. Container
8. Period selector outline
9. Period selector text
10. Dial selector track
11. Dial label (selected)
12. Text buttons
13. Icon button
14. Dial label (unselected)
15. Clock dial
16. Input text (selected)
17. Input field (selected)

<br>

![13 elements of an input time picker.](/assets/23753cba-md2u4xoe-06.CwADxO6q.webp)

1. Label (headline)
2. Time selector separator
3. Input field
4. Input text 
5. Period selector (selected)
6. Period selector text (selected)
7. Container
8. Period selector outline
9. Period selector text (unselected)
10. Text buttons
11. Icon button
12. Input text (selected)
13. Input field (selected)

### Container

Like [dialogs](../dialogs/overview.md "Dialogs provide important prompts in a user flow."), the container should appear above other screen elements. To focus attention, surfaces behind the container have a temporary scrim overlay to make them less prominent.

![Time picker container, all elements inside.](/assets/e6913851-md2u8t61-07.C1rbG8oc.webp)

The container includes all time picker elements

### Input selector

The input selector is a unique kind of [text field](../text-fields/overview.md "Text fields let users enter text into a UI.") input. It differs from typical text field inputs in that it has:

* An added highlight to call attention to the selected field
* A larger shape, size, and font
* A label below the field

Hours and minutes should have separate inputs. For people using a 12-hour clock, an AM/PM selector appears to the right of minutes. For people using a 24-hour clock, the AM/PM selector shouldn’t appear.

![Input time picker with the hour field active, and so highlighted.](/assets/9a6b623c-md2ugmkj-08.CE8OHNQw.webp)

Input selector for a 12-hour clock

### Dial selector

Dial selectors always mimic a round watch face. Hours and minutes can be selected by tapping a number or dragging the dial selector track.

When representing a 12-hour dial, all numbers appear in the outer ring. When representing a 24-hour dial, even numbers appear in an inner ring, and odd numbers appear in an outer ring.

![Dial time picker with hour 7 selected.](/assets/0e7e67b0-md2uji74-09.BC-4EJT4.webp)

Dial selector for a 12-hour clock

### Text & icon buttons

[Icon buttons](../icon-buttons/overview.md "Icon buttons help people take minor actions with one tap.") are used to switch between the input selector, represented by a keyboard, and the dial selector, represented by a clock.

[Text buttons](../buttons/overview.md "Buttons let people take action and make choices with one tap.") are used to exit the [dialog](../dialogs/overview.md "Dialogs provide important prompts in a user flow.") (**Cancel**) and save the selector input (**OK**).

![Time picker buttons.](/assets/b27054f8-md2uqf01-10.Bf3HiEwv.webp)

The keyboard icon allows people to switch between the dial selector (pictured) and the input selector

### Landscape orientation

The clock dial interface adapts to a device’s orientation. In landscape mode, the stacked input and selection options are positioned side-by-side.

![Time picker in landscape orientation on mobile.](/assets/31816ad8-md2wil5z-11.B_ifKv0Q.webp)

On mobile, the time picker can adapt to landscape orientation

## Placement

Time pickers shouldn’t be obscured by other elements.  

Time pickers should change orientation or variant to ensure they aren't cropped by the edge of the screen.<br><br>Time pickers are modal windows above a scrim. This puts the time pickers at the forefront of a person's view, calling attention to make a [selection](../../foundations/interaction/selection.md "Selection lets users choose specific items to act on.") of time.

![Input time picker in landscape orientation on mobile. It's fully visible despite the limited device height.](/assets/bcfb7fd4-lw7tgqq3-12.PWb9J7XX.webp)

The time picker should change to fit the size of the screen so the time picker is always fully visible

## Adaptive design

Time pickers can swap between orientation or variant depending on device orientation and viewport constraints. 

For example, the time picker can change to landscape orientation on larger breakpoints or when viewport height is limited, to avoid scrolling the dial presentation. 

Time pickers can fallback to the input time picker when there isn’t enough vertical real estate to present the landscape orientation without scrolling.

![Dial time picker in portrait orientation on mobile.](/assets/1d71ba52-md2uzinf-13.tE5ft5YY.webp)

High-density time picker displayed on mobile

### Density

Don’t apply density to the time picker dial when the viewport is constrained. Instead, use an input picker.

::: danger Don't
![Dial time picker in portrait orientation, too tall to fully fit on a mobile device in landscape mode.](/assets/9ac313c6-md2v1wt2-14_dont.DEXjDYWg.webp)

Don’t apply density to the time picker dial when the viewport is constrained. Instead, use an input picker.
:::

## Behavior

There are two primary methods for selecting time with the mobile time picker. People can:

* Type in a specific value in the hour and minute fields
* Select the hour or minute field from the text input and adjust the clock dial to simultaneously change the corresponding time field above

<video controls src="https://firebasestorage.googleapis.com/v0/b/design-spec/o/projects%2Fgoogle-material-3%2Fimages%2Flw8wa0wg-GM3-Components-TimePickers-Guidelines-1-v01.mp4?alt=media" aria-label="Dial time picker possible interactions. Dial selector adjusts to match manual input."></video>

The dial time picker supports both manual and dial input

### Appearing & disappearing

Like other kinds of [dialogs](../dialogs/overview.md "Dialogs provide important prompts in a user flow."), time pickers use an enter and exit transition pattern to appear on the screen.

To exit a time picker, the input can either be confirmed (**OK**) or dismissed (**Cancel**). Interacting outside of the dialog will also dismiss the time picker. Unless one of these actions is taken, a time picker will continue to retain focus.

<video controls src="https://firebasestorage.googleapis.com/v0/b/design-spec/o/projects%2Fgoogle-material-3%2Fimages%2Flw8waqdc-GM3-Components-TimePickers-Guidelines-2-v01.mp4?alt=media" aria-label="Time picker enter and exit transitions."></video>

**OK** confirms the entry and closes the dialog

### Toggle between dial & input

Tapping the keyboard icon on a mobile time picker switches the view to the input picker.

<video controls src="https://firebasestorage.googleapis.com/v0/b/design-spec/o/projects%2Fgoogle-material-3%2Fimages%2Flw8wbaye-GM3-Components-TimePickers-Guidelines-3-v01.mp4?alt=media" aria-label="Time picker transitioning between dial and input selectors."></video>

The keyboard icon in the lower left toggles between the input picker and the dial picker

### Scrolling

Time pickers should avoid scrolling, and swap component orientation or variant based on device orientation or viewport size. 

Time pickers don’t scroll with elements outside of the modal window, such as the background.

![Input time picker in landscape orientation to fit a mobile device in landscape mode.](/assets/2c6d30a5-md2v8xeq-18.C-Jz8yWt.webp)

Time pickers shouldn’t scroll
