Random Date Generator
Pick random dates from a range you choose. Limit the draw to weekdays, ask for several at once, and output them as ISO, long form, or day-first or month-first numerals.
- Category
- Generators
- Updated
- Cost
- Free · no sign-up
Your dates
Choose a range and press Generate.
How the range is drawn
Both ends are included, so a start and end of the same day always returns that day. Dates are handled as whole days in UTC from start to finish, which means the date you see is the date that was drawn — no result shifts by a day because of the timezone your browser happens to be in.
Weekdays only, done properly
Asking for weekdays is the common case: scheduling, working-day test data, picking a delivery slot. There are two ways to build it, and only one of them works.
The naive way draws a date, checks whether it landed on a weekend, and tries again if it did. That's fine most of the time and catastrophic occasionally — give it a range that contains only a Saturday and Sunday and it retries forever.
This tool builds the list of weekdays inside your range first and draws from that. A range with no weekdays in it fails immediately with a message, which is the honest answer.
Choosing a format
| Format | Example | Best for |
|---|---|---|
| ISO | 2026-08-26 | Spreadsheets, databases, code |
| Long | August 26, 2026 | Writing and presentation |
| M/D/Y | 08/26/2026 | US-facing documents |
| D/M/Y | 26/08/2026 | Most of the rest of the world |
Use ISO anywhere the date will be sorted or parsed. It sorts correctly as plain
text, and it's the one format that can't be misread — 03/04/2026 is either
March or April depending on who's reading it, while 2026-03-04 is not.
Nothing you generate is transmitted or stored.
How to use the Random Date Generator
Three steps, no sign-up.
Set the range
Choose a start and end date. Both ends are included, so a range of a single day always returns that day.
Choose the shape of the draw
Weekdays-only skips Saturdays and Sundays, which is what scheduling and test data usually want. Turn repeats off when every date has to be different.
Pick a format and generate
ISO (2026-08-26) is the safe choice for spreadsheets and code. Long, M/D/Y and D/M/Y are there for everything else.
Worked examples
A random day this century
- Inputs
- 2000-01-01 to 2026-12-31 · 1 date
- Result
- 2014-03-19 (Wednesday)
Five working days for a test schedule
- Inputs
- 2026-09-01 to 2026-09-30 · 5 dates · weekdays only · all different
- Result
- 2026-09-03, 2026-09-08, 2026-09-15, 2026-09-22, 2026-09-29
A random birthday for sample data
- Inputs
- 1970-01-01 to 2005-12-31 · 1 date · long format
- Result
- June 11, 1988