Random Date Generator
Draw random calendar dates in any range, weekdays only if you like.
Random Date Generator: the tool
Settings
Up to 100. Both end dates can be drawn.
Skips Saturdays and Sundays.
Result
Choose a range and press Generate. Every day in the range has the same chance.
Choose a start date and an end date and get random days between them. It helps when you need test data, a birthday for a character, a random day for a challenge or a sample of dates to check. Weekdays, formats and sorting are all up to you, and the work happens in your browser.
How it works
Dates are counted as whole days since the first of January 1970, in UTC, so a time zone or a clock change can never move a date by a day. The tool draws a whole number from the first day to the last with your browser's cryptographic random generator, using a method that gives every day exactly the same chance, then turns the number back into a calendar date. Both end dates can be drawn.
The calendar is handled properly. Month lengths are respected, 29 February exists in leap years and only in leap years, and a date such as 30 February is rejected before anything is drawn. Years from 1000 to 9999 are supported. The weekday of a date is worked out from the day count, so the long format that shows the weekday is correct for any year.
With Monday to Friday only, a day is drawn and, if it falls on a weekend, drawn again, so every weekday keeps the same chance. With Never repeat a date, each date appears at most once, and the tool tells you how many dates the range holds if you ask for more. You can sort the result and choose between five formats, from 2026-03-05 to Thursday, March 5, 2026.
How to use it
- Choose the first and the last date of the range. Both can be drawn.
- Enter how many dates you want, and tick Monday to Friday only or Never repeat a date if you need them.
- Choose the format and the order of the results.
- Press Generate and copy the dates, separated by new lines, commas or spaces.
Example
Five different weekdays drawn from 2026 with a fixed sequence, written with the weekday, and sorted from earliest to latest.
What was set
- Range
- 1 January to 31 December 2026
- Options
- 5 dates, Monday to Friday only, never repeating, earliest first
What came out
- Date 1
- Wednesday, June 10, 2026
- Date 2
- Friday, June 19, 2026
- Date 3
- Monday, August 24, 2026
- Date 4
- Monday, October 12, 2026
- Date 5
- Monday, December 14, 2026
Good to know
- Dates run from 1000 to 9999, and you can draw up to 100 at a time.
- Only the date is drawn, not the time of day. The dates follow the modern Gregorian calendar, applied to every year, including those before it was adopted.
- The tool does not know about public holidays. Monday to Friday means weekdays, whether or not they are working days where you live.
Questions people ask
Does it handle leap years?
Yes. 29 February can be drawn in leap years and never in other years, and an impossible date such as 30 February or 29 February 2025 is refused with a message before anything is drawn.
Can I get only weekdays?
Yes. Tick Monday to Friday only and Saturdays and Sundays are skipped, with every weekday still equally likely. If the range contains no weekday at all, you are told.
Which date format should I choose?
The first format, year-month-day, is unambiguous and is the usual choice for data. The slash formats differ between countries: 03/05/2026 is 5 March in the US style and 3 May in the European one, so choose the format your readers expect.
Can the same date be drawn twice?
Yes, unless you tick Never repeat a date. In a short range, repeats are likely, and in a long one they are rare.
Are time zones a problem?
No. The dates are plain calendar days with no time attached, and they are counted in UTC, so the result is the same wherever you are and whatever your clock says.