Set your range and click Generate.
Uses for Random Date Generation
Every day in your range, including both the start and the end date, has the same chance: 1 in 365 across a full common year such as 2026. Set the two dates and how many you need, limit it to weekdays or weekends if you like, and choose a format. Each result also shows its weekday, day of the year and distance from today.
Random date generators are used in many contexts: history teachers generate random historical dates for "what happened on this day" exercises; developers need random test data with valid dates; game masters generate random in-world dates; and scheduling tools use random dates for placeholder entries.
How the Date Is Chosen
The tool counts the whole calendar days from the start date to the end date, both included, and picks one of them at random with Math.random. From 1 January to 31 January that is 31 days, so each date has a 1 in 31 chance (3.23%). Dates are handled in UTC, so your time zone and daylight saving changes cannot push a result onto the day before or after.
With a weekday or weekend filter, a date that does not match is thrown out and a new one is drawn, which keeps every matching day equally likely. Public holidays are not removed. Math.random is fine for test data, games and prompts, but not for anything that must be unpredictable.
Days in Common Ranges
| Range | Days | Weekdays | Weekend days |
|---|---|---|---|
| January 2026 | 31 | 22 | 9 |
| Oct 1 to Dec 31, 2026 | 92 | 66 | 26 |
| Year 2026 | 365 | 261 | 104 |
| Year 2028 (leap year) | 366 | 260 | 106 |
| 1990 to 1999 | 3,652 | 2,610 | 1,042 |
| 2000 to 2009 | 3,653 | 2,609 | 1,044 |
Leap years are divisible by 4, except century years, which must be divisible by 400. So 2000 was a leap year and 1900 was not, which is why the 2000s have one more day than the 1990s. To count the days between any two dates, use the days between dates calculator.
Chance Two Random Dates Match
The generator allows repeats, and in a 365-day range they come sooner than you might think. This is the famous birthday problem.
| Dates generated | Chance at least two are the same |
|---|---|
| 5 | 2.7% |
| 10 | 11.7% |
| 20 | 41.1% |
| 23 | 50.7% |
| 30 | 70.6% |
| 40 | 89.1% |
| 50 | 97.0% |
| 70 | 99.9% |
If you need all dates to differ, generate a few extra and drop the repeats, or widen the range.