Random Date Generator

Generate up to 100 random dates between any two dates, in the format you need, with an option to skip weekends. It is free and instant, and the dates are created in your browser without uploading anything.

Random Date GeneratorPrivate · runs on your device
Your date will appear here

How to use the random date generator

Set the range, pick a format and press the button.

  1. Choose the start in From (it begins as 1 January 2000) and the end in To (31 December 2030). If you enter them in the wrong order, the tool swaps them.
  2. Set How many, from 1 to 100.
  3. Pick a Format. The four choices are shown as examples: 2026-10-25, 25/10/2026, 10/25/2026 and Sunday, 25 October 2026.
  4. Tick Weekdays only to skip Saturdays and Sundays.
  5. Click Generate date. The dates are listed one per line, in the order they were drawn, not sorted.

The same date can come up twice, since each draw is independent. There is no unique option.

The output is plain text, one date per line, with no time of day attached. Dates are not checked against public holidays or local calendars, so a result can land on a bank holiday, and the Gregorian calendar is used throughout, including for very early years.

How the dates are chosen

A date is treated as a whole-day count. The tool works out how many days lie between your two dates, draws a whole number in that span with the browser's secure random generator, and adds it to the start. Every day in the range therefore has the same chance, including 29 February in leap years. The default range, 1 January 2000 to 31 December 2030, holds 11,323 days, so any single day has a 1 in 11,323 chance. A one-year range such as 2026 has 365 days, 261 of them weekdays, so with Weekdays only each weekday has a 1 in 261 chance.

The weekday filter simply redraws when a weekend comes up. If the range contains no weekdays at all, such as a single Saturday, the tool gives up after many attempts and returns fewer dates than you asked for, or none.

Formatting is applied last. The long format spells out the weekday and month in English, using the real calendar, so the weekday shown always belongs to the date. DD/MM/YYYY and MM/DD/YYYY are different orders of the same date, so check which one your destination expects before pasting a list into a spreadsheet. The ISO form sorts correctly even as plain text, which makes it the safest choice for databases and CSV files.

The tool starts with a fixed range rather than today's date. To draw from the next 30 days, set From to today and To to the date 30 days ahead. To make believable birth dates for adults, choose a range that matches the ages you need, such as the years from 1960 to 2005, instead of the default range, which includes years that would produce children or people not yet born.

Uses and related tools

Random dates are useful wherever a believable but arbitrary day is needed.

  • Test data: fill date-of-birth, order and expiry fields. Include leap days and month ends in the range to catch calendar bugs, and narrow the range so the dates make sense, for example adult birth years only.
  • Demos and spreadsheets: build sample datasets for dashboards.
  • Planning: pick a day for an outing or a review when nobody can decide.
  • Teaching: give pupils dates to work out the weekday of or to count the days between.

A worked case: set From to 2026-01-01 and To to 2026-12-31, choose the ISO format, tick Weekdays only and ask for five dates. You might see lines like 2026-03-17 and 2026-09-02, each one falling on a Monday to Friday. Paste the lines into a spreadsheet and sort them if you want a timeline, since the tool lists them in draw order.

The date difference calculator counts the days between two results, the age calculator turns a birth date into an exact age, and the Unix timestamp converter changes a date into a timestamp for databases. For a month rather than a day, use the random month generator, and for a Roman numeral version of a date see the Roman numeral date converter. All of it runs locally.

Quick answers

Frequently asked questions

The questions people ask most, answered in plain words.

How do I generate a random date between two dates?

Enter the start in From and the end in To, set How many, and click Generate date. Every day in the range has the same chance of being chosen. Pick a Format before copying, and press the button again for a new set.

Can I exclude weekends?

Yes. Tick Weekdays only and the generator redraws whenever it lands on a Saturday or Sunday, so only Monday to Friday dates appear. This helps with invoice dates, delivery slots and meeting times in test data. A range holding only weekend days returns fewer dates than requested.

Which date formats are available?

There are four: year-month-day such as 2026-10-25, day/month/year such as 25/10/2026, month/day/year such as 10/25/2026, and a long form such as Sunday, 25 October 2026. Change the Format and generate again to see the list in the new style.

Can the same date appear twice?

Yes. Each date is an independent draw, so repeats are possible, especially in narrow ranges. There is no unique option. If you need distinct dates, ask for more than you need and remove duplicates with the duplicate line remover, or widen the range.

Does it handle leap years correctly?

Yes. Dates are whole calendar days, so 29 February occurs only in leap years and every month has its correct length. The weekday shown in the long format is calculated from the real calendar, so it always matches the date beside it.