Random Date Generator
Choose a start and end date and generate a random day within that window. Filter to weekdays or weekends only, and generate multiple dates at once for scheduling or sampling.
What this generator does
Picks a date from a range you set, for sampling, for scheduling something arbitrary and for filling date fields in test data.
How to use this tool
- Set a start date and end date.
- Choose how many random dates you need.
- Optionally restrict results to weekdays or weekends only.
- Generate to see your random date or dates.
Understanding the controls
- Date range
- Both ends are included, so the earliest and latest dates you set can both be returned.
- Which days
- Any day, weekdays only or weekends only. The last two restrict results to Monday-Friday or Saturday-Sunday. This checks only the day of the week — it has no concept of a public holiday, so a bank holiday Monday is still treated as a weekday.
Worked examples
- A random date in Q1 2027
- Start 2027-01-01, end 2027-03-31 — any of the 90 days in the range is equally likely, weekends included unless you filter them out.
- A random weekday for a meeting
- Turn on 'weekdays only' to exclude every Saturday and Sunday in the range, leaving only Monday-to-Friday dates in the draw.
Common use cases
- Picking a random meeting or event day within a window
- Choosing a surprise date for a gift or activity
- Scheduling randomised checks or audits
- Classroom exercises involving calendars
How this generator works
A day offset is drawn uniformly at random from the whole span between your start and end dates using your browser's cryptographic random generator, then converted to a calendar date. If you've filtered to weekdays or weekends, a drawn date that fails the filter is discarded and another offset is drawn, repeating until a date passes — so every day of the correct type within the range stays equally likely, rather than the filter skewing the result toward one end of the window.
Randomness and fairness
The date is derived from a day offset drawn with your browser's cryptographic random generator, uniformly across the full span of the range. When a weekday or weekend filter is active, non-matching draws are discarded and redrawn rather than the range being narrowed first, which keeps every qualifying date equally likely regardless of where it falls in the window.
For how randomness is produced across the whole site, see how Generate Random works.
Limitations and good to know
- Every date in the range is equally likely, including weekends when no filter is applied — there is no bias toward 'more likely' days such as a weekday.
- The weekday/weekend filter checks only the day of the week. It has no notion of public holidays, so a bank holiday Monday is drawn exactly like any other Monday.
- There is no seed or reproducible mode, so an earlier result cannot be regenerated from the same inputs.
Frequently asked questions
- Does the weekday filter know about public holidays?
- No — it only checks whether the date falls on Saturday or Sunday. A public holiday that lands on a weekday is treated as an ordinary weekday and can still be returned; there is no calendar of holidays behind this tool.
- Can two dates in the same batch be the same?
- Yes. Each date in a batch is drawn independently, so requesting several dates can return duplicates, particularly over a short date range — there is no 'no repeats' option here the way the number generator offers for its own draws.