Plugins are essentially a set of hooks, that receive an optional config object and a flatpickr instance.

Functionality requested by users that doesn’t make it to core usually ends up in a plugin. The flatpickr repo comes with a few plugins.


Provides a visual cue for users after selecting either:

  • date + time
  • multiple dates
    "enableTime": true,
    "plugins": [new confirmDatePlugin({})]

A spiffy SVG icon is included, along with sane defaults, but you can customize them.

Here are all the available options:

    confirmIcon: "<i class='fa fa-check'></i>", // your icon's html, if you wish to override
    confirmText: "OK ",
    showAlways: false,
    theme: "light" // or "dark"


For selecting a week.

    "plugins": [new weekSelectPlugin({})],
    "onChange": [function(){
        // extract the week number
        // note: "this" is bound to the flatpickr instance
        const weekNumber = this.selectedDates[0]
            ? this.config.getWeek(this.selectedDates[0])
            : null;


rangePlugin (beta)

Range selection using two inputs.

    "plugins": [new rangePlugin({ input: "#secondRangeInput"})]

MinMaxTimePlugin (beta)

Custom minTime and maxTime per date.

    enableTime: true,
    minDate: "2025",
    plugins: [
        new minMaxTimePlugin({
            table: {
                "2025-01-10": {
                    minTime: "16:00",
                    maxTime: "22:00"