Choose the shape of the answer.
Single date, range, week, multiple dates, month or year. Six picker types for different forms.
Picker types and valuesLet people choose dates in a calendar they know. A Web Component for single dates, ranges and more—with localized controls and values your application can use.
2026-03-21npm install intl-datepickerA REAL COMPONENT, RIGHT HERE
Loading the calendar…
Choose a day to see its display value.
For a single day, value is always a Gregorian YYYY-MM-DD string. Changing the calendar changes how that day is shown, not the day you selected.
Waiting for the component…This is intl-datepicker 0.4.2, running locally in your browser. Your selections are not sent to a server.
The demo could not load.
FROM A CALENDAR TO A FORM
A booking range with unavailable nights, a minimum stay, and a real form value. Open the field and try a different stay.
Checkout is allowed on the first unavailable day. The example uses fixed dates and local data; it does not make a reservation.
Explore range rulesSubmit the sample to read FormData.<form>
<label for="stay">Your stay</label>
<intl-datepicker id="stay" name="stay"
type="range" calendar="gregory" locale="en-GB"
min="2026-10-01" max="2026-10-31"
min-nights="2" max-nights="7"
exclude-disabled="nights"
disabled-dates='["2026-10-16/2026-10-18"]'
required
></intl-datepicker>
<button type="submit">Check selection</button>
</form>Uses the same core, calendar and label imports as the first demo. The page prevents submission and reads new FormData(form).
Single date, range, week, multiple dates, month or year. Six picker types for different forms.
Picker types and valuesKeyboard navigation, labelled calendar grids and selection announcements are built into the component.
Keyboard guideChoose the calendar, display locale and digits. English labels ship by default; Persian, Arabic and Hebrew labels are optional imports.
Localization guideJUST A WEB COMPONENT
Use the custom element in plain HTML or your framework. Style it with CSS properties and shadow parts. Import additional calendars only when you need them.
For single dates, keep the date-only ISO string. Ranges contain start/end strings; month and year values in other calendars can include a calendar annotation. Read the value contract for the picker type you use.
Value formatsThe package is safe to import in an SSR environment, but the calendar renders in the browser. On this page, the demo code loads when a demo approaches the viewport; additional calendars load when selected.
Start with one calendar, then add the options your form needs. Version 0.4.2 is pre-1.0; review the changelog before minor-version upgrades.
<intl-datepicker>