Set a start date, an end date and a count, and this tool picks random dates in that range, sorted from earliest to latest. You can limit it to weekdays and choose the format. It's mostly used for test data, games and sample schedules.
How to use it
- Choose a start and an end date.
- Set how many dates you need.
- Choose a format, and weekdays only if you like.
- Press Generate dates.
When it helps
- Creating test data for a database or form.
- Picking a random day for an event.
- Practising date calculations.
- Sample schedules.
Good to know
- Weekdays-only is more realistic for appointments or invoices.
- The long format also shows the weekday name.
- The same date can appear twice, since each pick is independent.
How dates are picked
The tool lists every day in your range, removing weekends if you ask, and then picks from that list using a secure random source. Every available day is equally likely, so you won't see clustering at the start or end of the range.
Dates are handled in UTC so that your time zone can't shift them by a day, and leap days are included when they fall within the range.
Worked example: test data for a booking system
Set the start to 1 March 2026, the end to 31 May 2026, ask for 20 dates, tick weekdays only, and choose the ISO format. You get twenty sorted dates in year-month-day form, ready to paste into a spreadsheet or a script. The count of days available tells you the pool size, 66 weekdays in this case.
For a long-format list in documents, choose the format with the weekday name, which reads like Friday, 15 May, 2026.
Other uses
Teachers use random dates for history quizzes, game masters for in-world calendars, and testers to check how software handles awkward cases, like 29 February or the end of a month. Generating a larger list with several dozen dates quickly finds those edge cases.
If you need random times as well, generate the dates here and add times in a spreadsheet using a random function.
Dates and time zones
Dates here are calendar days with no time attached, so there's no time zone to worry about. If your test system stores timestamps, convert each date to midnight in the zone you need, and remember that daylight saving changes the length of a day twice a year.
Edge cases are worth testing deliberately: 28 and 29 February, 30 and 31 of months, the first and last days of the year, and dates around clock changes.
Seeding realistic data
For believable test data, generate dates within a plausible range, such as the last 12 months for orders or the last 60 years for birth dates, and weight them if needed by generating several lists.
Questions
Are both ends included?
Yes.
Are leap years handled?
Yes.