Random Date Generator

Pick 1 to 20 random dates between a start and end date, restricted to the weekdays you choose, in the date format you need.












Set a start date and an end date, say how many dates you want (1 to 20), and press Generate Dates. You get a list of random dates inside that range, written in the format you chose, with a Copy button that grabs the whole list. By default the range is today to one year from today, all seven weekdays are allowed and the output is ISO format (2026-09-23), which is what most spreadsheets and databases expect.

The options

  • Number of dates: 1 to 20 per click.
  • Start and end date: any two calendar dates from the date pickers. If you put them in the wrong order the tool swaps them for you. The range can be as short as a few days or as long as decades.
  • Allowed weekdays: untick any days you do not want. Keep only Saturday and Sunday for weekend dates, or Monday to Friday for business days. Dates that fall on an unticked day are discarded and redrawn.
  • Output format: first choose the order (day first, month first, year first), then the exact style. The eight formats are:
OrderPatternExampleCommon in
Day firstEEEE, dd MMMM yyyyWednesday, 23 September 2026UK letters, invitations
Day firstdd/MM/yyyy23/09/2026UK, Europe, India, Australia
Day firstdd MMMM yyyy23 September 2026UK, military, most of the world
Month firstEEEE, MMMM dd yyyyWednesday, September 23 2026US formal
Month firstMM/dd/yyyy09/23/2026US forms and spreadsheets
Month firstMMMM dd yyyySeptember 23 2026US
Year firstyyyy-MM-dd2026-09-23ISO 8601, databases, filenames
Year firstyyyy MMMM dd2026 September 23Rare; sortable and readable

The dropdown labels show today's date in each style, so you can see the format before you generate. Output is dates only; there is no time component. For a random clock time, use the Random Time Generator and pair the two lists.

How the dates are chosen

Each date is drawn independently and uniformly between the start and end timestamps, so every day in the range has the same chance of coming up, and the same date can appear twice in one list. If you need unique dates, ask for a few more than you need and drop the duplicates. The weekday filter works by rejection: a draw that lands on an unticked day is thrown away and replaced, which keeps the remaining days evenly distributed. That also means you should keep at least one weekday ticked that actually occurs inside your range; a two-day range with both of those days unticked has nothing to return.

Why the format matters

A date like 03/04/2026 is 4 March in London and 3 April in New York, which is the whole reason ISO 8601 exists. Year-month-day with leading zeros sorts correctly as plain text, cannot be misread across countries, and is what CSV importers, SQL DATE columns and JavaScript's Date.parse handle most reliably. Use it for anything a machine will read. Use the long written forms (23 September 2026) for anything a person will read, and MM/dd/yyyy only when a US form insists on it.

Typical uses

  • Test data. Twenty order dates spread across the last quarter for a report mockup, in ISO so they import cleanly. Set the range to 2024-01-01 to 2024-12-31 for a fixed-year dataset.
  • Scheduling by lot. Pick a random Saturday in the next six months for a club event or a random weekday for a surprise inspection, with everyone agreeing the pick was fair.
  • Fiction and worldbuilding. Random birthdays and event dates for characters; if the dates must be birthdays for people of a given age, the Random Birthday Generator and Random Age Generator are built for that.
  • Practice and quizzes. Generate dates in long written form and have students convert them to numeric form, or name the weekday.
  • Deciding a date at random. Two people who can't agree on a weekend for a trip can set the range, tick Saturday and Sunday, and generate one.

If you only need part of a date, the Random Year Generator, Random Month Generator and Random Day of the Week Generator each pick one component. The rest of the group is under all date & time generators.

Frequently asked questions

Can I generate random dates within a specific year, such as 2025?

Yes. Set the start date to January 1 and the end date to December 31 of that year. Any range works, including ranges in the past.

Does it generate a time as well as a date?

No, output is date only. Use the Random Time Generator for a random time and combine the two.

Can I get only weekend or only weekday dates?

Yes. Untick the days you want to exclude before generating. Only Saturday and Sunday ticked gives weekend dates; Monday to Friday gives working days.

Why did the same date appear twice?

Each date is drawn independently, so repeats are possible, especially in short ranges. Generate a few extra and remove duplicates if you need every date to be distinct.

What is the maximum number of dates per click?

20. Press Generate Dates again for another 20; the Copy button copies whatever is currently shown.