Pick one or more random calendar dates from a range you choose, with both end dates included.
Example
The whole of 2026 contains 365 days, so each day has a 0.27% chance on a single draw. Leap years are handled automatically: February 2028 has 29 possible dates.
Calculation method
The start and end dates become calendar-day indexes, and secure random integers select dates between them, including both endpoints. Dates are generated without a time of day, which avoids time-zone shifts that could move a result to the previous or next day.
Important notes
The generator does not skip weekends or public holidays. Generate extra dates and discard the unsuitable ones, or check results with the Day of the Week Calculator. It is a convenient local tool, not something for regulated lotteries with audit trails.
Uniform dates from an inclusive range
Choose a start date, an end date and how many dates you need. Both ends are possible results, and every calendar day between them is equally likely. The whole of 2026 contains 365 days, so each day has a 0.27% chance on a single draw. Dates are generated without a time of day, which avoids time-zone shifts that could move a result to the previous or next day. Leap years are handled automatically: February 2028 has 29 possible dates.
Unique dates and range limits
With “No duplicate dates” on, each date appears at most once in the result, so you cannot ask for more dates than the range contains. Requesting all 29 dates from February 1 to 29, 2028 returns every day exactly once in random order, while asking for 29 unique dates from February 2026, which has only 28 days, is rejected. Unique mode is useful for assigning different days to people, such as scheduling duty days or picking inspection dates.
Repeats when duplicates are allowed
If duplicates are allowed, dates are drawn independently and collisions arrive quickly. Drawing 10 dates from a year gives at least one repeated date about 11.69% of the time, and 23 dates reach 50.73%, the same birthday paradox seen with random numbers. The generator does not skip weekends or public holidays; generate extra dates and discard unsuitable ones, or check results with the Day of the Week Calculator. It is not intended for regulated lotteries.
Worked examples| Input | Result |
|---|
2026-01-01 → 2026-12-31 · 1 date | 365 possible dates · 0.27% each |
2028-02-01 → 2028-02-29 · 29 unique | all 29 dates once |
2026-02-01 → 2026-02-28 · 29 unique | rejected (only 28 dates) |
2026-01-01 → 2026-12-31 · 23 dates · duplicates allowed | P(any repeat) 50.73% |
2026-01-01 → 2026-12-31 · 10 dates · duplicates allowed | P(any repeat) 11.69% |
Frequently asked questions
How does unique mode work?
With “No duplicate dates” on, each date appears at most once, so you cannot ask for more dates than the range contains. Requesting all 29 dates from February 1 to 29, 2028 returns every day once in random order, while asking for 29 unique dates from February 2026, which has only 28 days, is rejected.
Why do repeats appear so quickly?
Because with duplicates allowed each date is drawn independently. Drawing 10 dates from a year gives at least one repeat about 11.69% of the time, and 23 dates reach 50.73% — the same birthday paradox that shows up with random numbers.
What is unique mode good for?
Assigning different days to different people: duty rosters, inspection dates, interview slots or a schedule where nobody should share a date. Turn duplicates back on when each draw is meant to be independent, such as sampling days for a survey.