What Random Date Generator does
This random date generator picks between 1 and 100 calendar dates from the range you set. Both the start date and the end date can be picked, and every day in between has the same chance. Tick Weekdays only to leave out Saturdays and Sundays, and No repeated dates when every result must be different. Results come back as a plain list in YYYY-MM-DD form, plus a table that names the day of the week for each one, so a date like 2026-10-20 is shown as a Tuesday without a calendar lookup. When the page opens, the range is already set to today through 30 days from today.
Random date examples with the day of the week
Real draws from the tool, taken from separate presses of Generate with the device clock set to UTC. Your dates will differ each time.
Five dates in 2026
Start date 2026-01-01, End date 2026-12-31, How many dates 5
2026-04-22 (Wednesday), 2026-06-26 (Friday), 2026-07-05 (Sunday), 2026-10-26 (Monday), 2026-12-24 (Thursday)
Five different weekdays in October 2026
Start date 2026-10-01, End date 2026-10-31, How many dates 5, Weekdays only on, No repeated dates on
2026-10-02 (Friday), 2026-10-13 (Tuesday), 2026-10-21 (Wednesday), 2026-10-26 (Monday), 2026-10-29 (Thursday)
Useful for spot checks, surprise quizzes or audit visits spread across a month.
One meeting date in a month
Start date 2026-10-01, End date 2026-10-31, How many dates 1, Weekdays only on
2026-10-20 (Tuesday)
Three random birthdays
Start date 1990-01-01, End date 2005-12-31, How many dates 3
1996-12-31 (Tuesday), 2000-06-25 (Sunday), 2001-10-21 (Sunday)
Three dates across two centuries
Start date 1900-01-01, End date 2099-12-31, How many dates 3
1908-06-12 (Friday), 1985-02-13 (Wednesday), 2039-03-15 (Tuesday)
The Range panel reports 73,049 days in this range.
A leap-year February
Start date 2024-02-01, End date 2024-02-29, How many dates 3
2024-02-05 (Monday), 2024-02-07 (Wednesday), 2024-02-10 (Saturday)
How many days and weekdays are in common date ranges
The number of eligible days sets the odds for each date and the most dates you can draw with No repeated dates on.
| Range | Days in range | Weekdays (Mon to Fri) | Chance of any one day |
|---|---|---|---|
| 1 to 29 February 2024 | 29 | 21 | 1 in 29 |
| 1 to 31 October 2026 | 31 | 22 | 1 in 31 |
| 1 to 31 December 2026 | 31 | 23 | 1 in 31 |
| 1 January to 31 March 2027 | 90 | 64 | 1 in 90 |
| All of 2026 | 365 | 261 | 1 in 365 |
| All of 2027 | 365 | 261 | 1 in 365 |
| 1990 to 2005 | 5,844 | 4,175 | 1 in 5,844 |
| 1900 to 2099 | 73,049 | 52,179 | 1 in 73,049 |
With Weekdays only ticked, the chance of any one weekday is 1 in the Weekdays figure instead. The tool shows Days in range in its Range panel after every draw.
How the dates are picked
The tool counts the days from the start date to the end date, including both, and picks a random position in that span for each result. A range of 1 to 31 October has 31 positions, so each day has a 1 in 31 chance on every pick. Month lengths and leap years are handled by the calendar itself: 29 February appears in a range only in years that have one.
With Weekdays only ticked, any pick that lands on a Saturday or Sunday is thrown away and drawn again. The weekend's share is not pushed onto Friday or Monday; every remaining weekday keeps an equal chance.
With No repeated dates ticked, a date that has already been picked is also thrown away and drawn again, which is the same as drawing slips from a hat without putting them back. Left unticked, each pick is independent, so the same date can come up twice.
Chance of the same date appearing twice
With No repeated dates off, duplicates in a one-year range are more common than intuition suggests. This is the birthday problem.
| Dates drawn from 365 days | Chance at least two match |
|---|---|
| 5 | 2.7% |
| 10 | 11.7% |
| 23 | 50.7% |
| 30 | 70.6% |
| 50 | 97.0% |
Tick No repeated dates when you are generating a schedule or unique test records.
What people use random dates for
- Test data: filling a booking system, calendar or database column with dates spread realistically over a period. The YYYY-MM-DD output pastes straight into SQL, CSV and JSON.
- Unannounced checks: letting chance choose audit, inspection or drug-test days instead of a person, on weekdays only.
- Fair scheduling: letting chance choose a meeting, deadline or chore day inside a window everyone has agreed to.
- Teaching and writing: sampling days for a statistics exercise, a history quiz or a daily writing prompt.
- Placeholder birthdays: giving fictional characters or demo user accounts a date of birth in a chosen span of years.
Limits to be aware of
- Dates only. There is no time of day and no random time zone; use the result as a whole day.
- One output format, YYYY-MM-DD. There is no option for formats such as 10/20/2026 or 20 October 2026.
- Weekdays only removes Saturday and Sunday. It does not know about public holidays or about weeks that run Sunday to Thursday.
- A draw cannot be replayed. Each press of Generate starts fresh, so copy or download dates you need to keep.
- Time zones can shift the output by a day. The range and the weekday are worked out in your device's local time, but the dates are written out in UTC. East of UTC (most of Europe in summer, Asia, Australia), the listed dates and the Requested range figure can read one day earlier than the days you chose. Where clocks change for daylight saving, a range that crosses the change can show a weekday that is one day off. If a date and its weekday disagree, check a calendar before relying on the result.
How to get your result
- 1
Set the Start date and End date. If you enter them the wrong way round, the tool swaps them for you.
- 2
Type How many dates you need, from 1 to 100.
- 3
Tick Weekdays only (skip Sat/Sun) if weekend dates should never be picked.
- 4
Tick No repeated dates if each date may appear only once. Leave Sort chronologically ticked to list the earliest date first.
- 5
Press Generate, then read the Dates list and the With day of week table.
- 6
Copy the list or download it as random-dates.txt, one date per line.