Blazorise DatePicker component
DatePicker is an input field that allows the user to enter a date by typing or by selecting from a calendar overlay.
<DatePicker> is a fully featured date selection component that lets users select a date.
Its calendar, keyboard navigation, and parsing are implemented in Blazor and C# without a third-party JavaScript picker.
When InputFormat is defined, DatePicker continues to use Blazorise's existing InputMask integration for compatible caret-aware editing.
Unlike DateInput, which renders type="date",
DatePicker will render type="text" in the DOM.
Examples
Basic example
<DatePicker TValue="DateTime?" @bind-Value="" />
@code {
DateTime? value;
}
Add icon
To add icon you can combineDatePicker with an Addon.
<Addons> <Addon AddonType="AddonType.Body"> <DatePicker @ref="" TValue="DateTime?" @bind-Value="" /> </Addon> <Addon AddonType="AddonType.End"> <Button Color="Color.Light" Clicked="@(()=>datePicker.ToggleAsync())"> <Icon Name="IconName.CalendarDay" /> </Button> </Addon> </Addons>
@code {
DatePicker<DateTime?> datePicker;
DateTime? value;
}
Disable dates
If you'd like to make certain dates unavailable for selection you can assign theDisabledDates parameter.
<DatePicker TValue="DateTime?" DisabledDates="" />
@code { DateTime?[] disabledDates = new DateTime?[] { DateTime.Now.AddDays(-1), DateTime.Now.AddDays(2), }; }
Enable dates
If you'd like to make only certain dates available for selection, you can assign theEnabledDates parameter.
<DatePicker TValue="DateTime?" EnabledDates="" />
@code { DateTime?[] enabledDates = new DateTime?[]{ DateTime.Now.AddDays(-1), DateTime.Now.AddDays(2), }; }
Disable days
If you'd like to make only certain days in a week unavailable for selection you can assign theDisabledDays parameter.
<DatePicker TValue="DateTime?" DisabledDays="" />
@code { DayOfWeek[] disabledDays = new[] { DayOfWeek.Saturday, DayOfWeek.Sunday, }; }
Range example
Select a range of dates using the range calendar.<DatePicker @bind-Value="selectedDates" InputMode="DateInputMode.Date" SelectionMode="DateInputSelectionMode.Range" />
@code {
IReadOnlyList<DateTime?> selectedDates;
}
Multiple example
It is possible to select multiple dates.<DatePicker @bind-Value="selectedDates" InputMode="DateInputMode.Date" SelectionMode="DateInputSelectionMode.Multiple" />
@code{
IReadOnlyList<DateTime?> selectedDates;
}
Inline Calendar
To always show the calendar you just need to setInline parameter.
<DatePicker TValue="DateTime?" @bind-Value="" Inline />
@code {
DateTime? value;
}
Non-static
By default, the calendar menu will position statically. This means that it will also keep its position relative to the page when you scroll.
If you want to disable this behavior, you should assign the value false to the StaticPicker parameter.
<DatePicker TValue="DateTime?" @bind-Value="" StaticPicker="false" />
@code {
DateTime? value;
}
Input mask
In this example, the user is prompted to enter a value in the format dd.MM.yyyy.
Notice that we have also defined a DisplayFormat parameter. This is needed so that after the user finish with the input mask we need to properly parse it using the same format.
<DatePicker TValue="DateTime?" @bind-Value="" InputFormat="dd.MM.yyyy" DisplayFormat="dd.MM.yyyy" />
@code {
DateTime? value;
}
Week numbers
Use the ShowWeekNumbers parameter to toggle the visibility of week numbers in the calendar view.
When enabled, a column will appear on the left side of each row in the calendar showing the corresponding week number.
<DatePicker TValue="DateTime?" ShowWeekNumbers="true" />
Month selection
Set InputMode to DateInputMode.Month to select a month and year. The selected value is normalized to the first day of the month.
Select the year heading to navigate through years and decades, then select an item to return through the views to the month grid.
<DatePicker TValue="DateTime?" @bind-Value="" InputMode="DateInputMode.Month" DisplayFormat="MMMM yyyy" Placeholder="Select month..." ShowTodayButton />
@code {
DateTime? selectedMonth;
}
Week selection
Set InputMode to DateInputMode.Week to select complete Monday-to-Sunday weeks. Week numbers are shown automatically in this mode.
Bound values are normalized to the Monday that starts the selected week. By default, the input displays week values such as 2026-41st.
Week mode supports single, range, and multiple selection. FirstDayOfWeek changes the visual order of the calendar; when Sunday is displayed first, a selected week continues into the following row.
<Field> <FieldLabel>Single week</FieldLabel> <FieldBody> <DatePicker TValue="DateTime?" @bind-Value="" InputMode="DateInputMode.Week" Placeholder="Select week..." /> </FieldBody> </Field> <Field> <FieldLabel>Week range</FieldLabel> <FieldBody> <DatePicker @bind-Value="" InputMode="DateInputMode.Week" SelectionMode="DateInputSelectionMode.Range" Placeholder="Select week range..." /> </FieldBody> </Field> <Field> <FieldLabel>Multiple weeks</FieldLabel> <FieldBody> <DatePicker @bind-Value="" InputMode="DateInputMode.Week" SelectionMode="DateInputSelectionMode.Multiple" Placeholder="Select weeks..." /> </FieldBody> </Field> <Field> <FieldLabel>Sunday-first layout</FieldLabel> <FieldBody> <DatePicker TValue="DateTime?" @bind-Value="" InputMode="DateInputMode.Week" FirstDayOfWeek="DayOfWeek.Sunday" /> </FieldBody> </Field>
@code { DateTime? selectedWeek; IReadOnlyList<DateTime?> selectedWeekRange; IReadOnlyList<DateTime?> selectedWeeks; DateTime? sundayFirstWeek = new DateTime( 2026, 7, 15 ); }
Show buttons
Use the ShowTodayButton, or ShowClearButton parameters to toggle the visibility of the buttons in the calendar view.
When enabled, a row of buttons will appear at the bottom of the calendar allowing users to quickly navigate to today or clear the selected date.
<DatePicker TValue="DateTime?" ShowTodayButton ShowClearButton />
Default time
By default the time elements are set to 12:00. To change it use the DefaultHour and DefaultMinute parameters.
<DatePicker TValue="DateTime?" InputMode="DateInputMode.DateTime" DefaultHour="9" DefaultMinute="15" />
Formats
Display Format
DisplayFormat and InputFormat retain the .NET-style picker format syntax supported by earlier DatePicker versions.
InputFormat is converted to the existing InputMask datetime format and used as the caret-aware typing mask.
After the mask is completed, the committed value is presented using DisplayFormat.
For example, dd.MM.yyyy renders and accepts values such as 27.07.2026.
Display output and parsing preserve the format-token behavior from earlier DatePicker versions.
Best Practices
Date Format
Use a placeholder or helper to show how the input should be formatted. For example, "12/6/2020" represents different dates for Americans and Europeans.
Helpers are preferable to placeholders, as they are always visible. Fields with placeholders are also less noticeable than empty fields, so they are susceptible to being skipped. Use placeholders when space is limited, for example when Date Picker is used as a filter in a data grid header.
<Field> <FieldLabel>Start date</FieldLabel> <FieldBody> <DatePicker TValue="DateTime?" Placeholder="DD/MM/YYYY" /> </FieldBody> <FieldHelp>Format: DD/MM/YYYY</FieldHelp> </Field>
API
See the API reference for the parameters, events, methods, and related types available to the components covered on this page.