Random Date Generator
Pick an earliest and latest date, choose which days of the week are allowed, and draw as many random dates as you need — with or without a random time of day. Sort the list, switch the format, and copy it. Runs entirely in your browser; free, no sign-up.
365
Allowed days in range
365
Possible results
Your dates
Press the button to draw dates.
How to Use the Random Date Generator
- 1. Set the range. Choose the earliest and latest date. Both are included, so a range from 1 March to 31 March can return either end.
- 2. Allow the days you want. All seven weekdays are ticked to begin with. Press Weekdays for Monday to Friday only, Weekends only, or tick days one by one.
- 3. Add a time if you need one. Tick the time option, give an earliest and latest time and a step — every minute, every 5 or 15 or 30 minutes, or on the hour.
- 4. Choose the output. Set how many results (1 to 1,000), whether repeats are allowed, the order and the format.
- 5. Press Generate dates and copy. Nothing is drawn until you press the button, and each press is a fresh draw.
How the Dates Are Drawn
The tool counts every date and time that your settings allow, then draws whole-number positions from that count using your browser’s cryptographic generator (crypto.getRandomValues) with rejection sampling. Rejection sampling discards the uneven tail of the generator’s range, so every allowed result is exactly as likely as every other. It does not draw a random day and then skip days that are not allowed; skipping would bias the result toward days that follow a run of excluded ones.
Dates are handled as plain calendar days, so no time zone and no daylight-saving change can move a result onto a neighbouring day. The calendar is the Gregorian calendar extended backwards in both directions (the proleptic Gregorian calendar), and the supported years are 1 to 9999. For dates before the Gregorian reform of 1582, historians would record Julian dates, so treat very old results as arithmetic rather than as historical dates.
What a setting gives you
All of 2026, every day: 365 possible dates.
All of 2026, Monday to Friday: 261 possible dates.
All of 2026, weekends only: 104 possible dates.
March 2026, weekdays, 09:00–17:00 every 15 minutes: 22 days × 33 times = 726 possible results.
Repeats, Order and Format
With No repeats ticked, every result is different, and the tool tells you when the range is too small — you cannot draw 30 different dates from a 20-day range. With it unticked, each draw is independent, so the same date can come up twice, exactly as when you roll a die more than once. The order can be left as drawn, or sorted earliest first or latest first; sorting never changes which dates were chosen.
| Format | Looks like | Use it for |
|---|---|---|
| ISO 8601 | 2026-03-14, or 2026-03-14T14:30 with a time | Spreadsheets, databases, code and anything that must sort correctly as text |
| Full, with weekday | Saturday, March 14, 2026 | Reading aloud, schedules, worksheets |
| Medium | Mar 14, 2026 | Compact lists in your language’s own style |
| MM/DD/YYYY | 03/14/2026 | United States conventions |
| DD/MM/YYYY | 14/03/2026 | Most of Europe, Latin America and Australia |
The two numeric formats are ambiguous: 03/04/2026 is 4 March in one and 3 April in the other. When a list will be shared across countries, ISO 8601 is the safe choice. To convert dates you already have, use the Date Format Converter.
What People Use It For
- Test data and mock-ups. Fill a spreadsheet, a database or a design with plausible dates — add times for appointments and log entries.
- Writing prompts and fiction. Pick a date for a diary entry, a deadline or the day a story opens.
- Classroom exercises. Generate dates for students to convert, compute days between or find the weekday of; the Date Calculator checks the answers.
- Fair scheduling. Draw weekday dates for spot checks, audits or presentations when the choice should not depend on anyone’s preference.
- Research sampling. Choosing days at random for observation is a simple random sample of the calendar. Record the range and the allowed weekdays in your methods note.
Frequently Asked Questions
- How do I generate a random date between two dates?
- Enter the earliest and latest date, leave all weekdays ticked, set the count to 1 and press Generate dates. Both end dates are included, and every date in between is equally likely.
- How do I get random weekdays only?
- Press the Weekdays shortcut, which ticks Monday to Friday, or tick the days yourself. The generator counts only the allowed days, so weekends are never drawn and the weekdays stay equally likely.
- Can the same date come up twice?
- Only if you untick No repeats. With repeats allowed, every draw is independent, so duplicates are normal in long lists. With No repeats on, you get distinct results or a message saying the range is too small.
- How do I get a random date and time?
- Tick the time option, set an earliest and latest time and choose a step. A step of 15 minutes means times such as 09:00, 09:15 and 09:30 are the candidates. Times are wall-clock times with no time zone attached.
- Is the random date generator truly random?
- It uses the browser’s cryptographic random source and rejection sampling, which avoids the small bias that comes from taking a remainder. That is more than classroom, testing or scheduling use needs; it is also more than
Math.randomoffers. - Which years does it support, and does it handle leap years?
- Years 1 to 9999 in the Gregorian calendar. A year is a leap year if it is divisible by 4, except century years that are not divisible by 400, so 2024 and 2000 have 29 February while 1900 and 2100 do not.
- Is anything I enter sent anywhere?
- No. The range, the settings and the results stay in your browser, and nothing is uploaded or stored.