Skip to content

Random Date Generator Between Two Dates

Choose a start date and an end date, say how many dates you want, and press Generate. Each date is listed as YYYY-MM-DD with its day of the week.

Runs in your browserFree, no sign-upLast reviewed

Settings

Fill in the settings to see your result here.

Your result appears here instantly — nothing is uploaded.

Quick answers

How do I pick a random date between two dates?
Enter the first date as the Start date and the last as the End date, set How many dates to 1 and press Generate. Both end dates are included, and every day in the range is equally likely. Press Generate again for a different date.
Can it generate random dates without weekends?
Yes. Tick Weekdays only (skip Sat/Sun) and every date returned falls on Monday to Friday. October 2026, for example, has 31 days but only 22 weekdays, and each of those 22 is equally likely. Public holidays are not excluded.
How many random dates can I generate at once?
From 1 to 100 per press. With No repeated dates ticked, the range must contain at least that many eligible days: you cannot draw 6 different dates from a 5-day range, and the tool tells you how many days are available.
What format are the dates in?
ISO 8601 format, YYYY-MM-DD, such as 2026-04-22 for 22 April 2026. It reads the same in every country and sorts correctly as text. A second table repeats each date with its weekday name in English.
How do I generate a random birthday?
Set the range to the birth years you want, for example 1990-01-01 to 2005-12-31, and press Generate. That range holds 5,844 days, each equally likely, so leap days are included at their true frequency. One draw gave 1996-12-31, 2000-06-25 and 2001-10-21.

What Random Date Generator does

This random date generator picks between 1 and 100 calendar dates from the range you set. Both the start date and the end date can be picked, and every day in between has the same chance. Tick Weekdays only to leave out Saturdays and Sundays, and No repeated dates when every result must be different. Results come back as a plain list in YYYY-MM-DD form, plus a table that names the day of the week for each one, so a date like 2026-10-20 is shown as a Tuesday without a calendar lookup. When the page opens, the range is already set to today through 30 days from today.

Random date examples with the day of the week

Real draws from the tool, taken from separate presses of Generate with the device clock set to UTC. Your dates will differ each time.

Five dates in 2026

Start date 2026-01-01, End date 2026-12-31, How many dates 5

2026-04-22 (Wednesday), 2026-06-26 (Friday), 2026-07-05 (Sunday), 2026-10-26 (Monday), 2026-12-24 (Thursday)

Five different weekdays in October 2026

Start date 2026-10-01, End date 2026-10-31, How many dates 5, Weekdays only on, No repeated dates on

2026-10-02 (Friday), 2026-10-13 (Tuesday), 2026-10-21 (Wednesday), 2026-10-26 (Monday), 2026-10-29 (Thursday)

Useful for spot checks, surprise quizzes or audit visits spread across a month.

One meeting date in a month

Start date 2026-10-01, End date 2026-10-31, How many dates 1, Weekdays only on

2026-10-20 (Tuesday)

Three random birthdays

Start date 1990-01-01, End date 2005-12-31, How many dates 3

1996-12-31 (Tuesday), 2000-06-25 (Sunday), 2001-10-21 (Sunday)

Three dates across two centuries

Start date 1900-01-01, End date 2099-12-31, How many dates 3

1908-06-12 (Friday), 1985-02-13 (Wednesday), 2039-03-15 (Tuesday)

The Range panel reports 73,049 days in this range.

A leap-year February

Start date 2024-02-01, End date 2024-02-29, How many dates 3

2024-02-05 (Monday), 2024-02-07 (Wednesday), 2024-02-10 (Saturday)

How many days and weekdays are in common date ranges

The number of eligible days sets the odds for each date and the most dates you can draw with No repeated dates on.

RangeDays in rangeWeekdays (Mon to Fri)Chance of any one day
1 to 29 February 202429211 in 29
1 to 31 October 202631221 in 31
1 to 31 December 202631231 in 31
1 January to 31 March 202790641 in 90
All of 20263652611 in 365
All of 20273652611 in 365
1990 to 20055,8444,1751 in 5,844
1900 to 209973,04952,1791 in 73,049

With Weekdays only ticked, the chance of any one weekday is 1 in the Weekdays figure instead. The tool shows Days in range in its Range panel after every draw.

How the dates are picked

The tool counts the days from the start date to the end date, including both, and picks a random position in that span for each result. A range of 1 to 31 October has 31 positions, so each day has a 1 in 31 chance on every pick. Month lengths and leap years are handled by the calendar itself: 29 February appears in a range only in years that have one.

With Weekdays only ticked, any pick that lands on a Saturday or Sunday is thrown away and drawn again. The weekend's share is not pushed onto Friday or Monday; every remaining weekday keeps an equal chance.

With No repeated dates ticked, a date that has already been picked is also thrown away and drawn again, which is the same as drawing slips from a hat without putting them back. Left unticked, each pick is independent, so the same date can come up twice.

Chance of the same date appearing twice

With No repeated dates off, duplicates in a one-year range are more common than intuition suggests. This is the birthday problem.

Dates drawn from 365 daysChance at least two match
52.7%
1011.7%
2350.7%
3070.6%
5097.0%

Tick No repeated dates when you are generating a schedule or unique test records.

What people use random dates for

  • Test data: filling a booking system, calendar or database column with dates spread realistically over a period. The YYYY-MM-DD output pastes straight into SQL, CSV and JSON.
  • Unannounced checks: letting chance choose audit, inspection or drug-test days instead of a person, on weekdays only.
  • Fair scheduling: letting chance choose a meeting, deadline or chore day inside a window everyone has agreed to.
  • Teaching and writing: sampling days for a statistics exercise, a history quiz or a daily writing prompt.
  • Placeholder birthdays: giving fictional characters or demo user accounts a date of birth in a chosen span of years.

Limits to be aware of

  • Dates only. There is no time of day and no random time zone; use the result as a whole day.
  • One output format, YYYY-MM-DD. There is no option for formats such as 10/20/2026 or 20 October 2026.
  • Weekdays only removes Saturday and Sunday. It does not know about public holidays or about weeks that run Sunday to Thursday.
  • A draw cannot be replayed. Each press of Generate starts fresh, so copy or download dates you need to keep.
  • Time zones can shift the output by a day. The range and the weekday are worked out in your device's local time, but the dates are written out in UTC. East of UTC (most of Europe in summer, Asia, Australia), the listed dates and the Requested range figure can read one day earlier than the days you chose. Where clocks change for daylight saving, a range that crosses the change can show a weekday that is one day off. If a date and its weekday disagree, check a calendar before relying on the result.

How to get your result

  1. 1

    Set the Start date and End date. If you enter them the wrong way round, the tool swaps them for you.

  2. 2

    Type How many dates you need, from 1 to 100.

  3. 3

    Tick Weekdays only (skip Sat/Sun) if weekend dates should never be picked.

  4. 4

    Tick No repeated dates if each date may appear only once. Leave Sort chronologically ticked to list the earliest date first.

  5. 5

    Press Generate, then read the Dates list and the With day of week table.

  6. 6

    Copy the list or download it as random-dates.txt, one date per line.

Answers to common questions

Are the start date and end date included?
Yes. The range is inclusive at both ends, so a draw from 1 to 31 October can return the 1st or the 31st. Setting the same day as both start and end is allowed and always returns that day.
Why does it say the range only contains a certain number of eligible days?
No repeated dates is ticked and you asked for more dates than the range holds. Five days cannot supply six different dates. Widen the range, lower How many dates, or untick No repeated dates. With Weekdays only on, remember that only Monday to Friday count.
What happens if my range is only a weekend?
With Weekdays only ticked, a range such as Saturday 10 October to Sunday 11 October 2026 has nothing to pick from, and the tool reports "That range contains no weekdays." Untick the option or extend the range to include a weekday.
Can I generate a random date in the past or far in the future?
Yes. The date fields accept past and future years, and the draw works the same way across any span. A range of 1900 to 2099 covers 73,049 days.
Does a wider range make some dates more likely than others?
No. Whatever the length of the range, each eligible day gets one equal share. Months with 31 days collect more picks than February only because they contain more days, not because any single day is favoured.
Can I get a random time as well as a date?
Not from this tool. For a random time of day, draw a number from 0 to 1439 with a number generator and read it as minutes after midnight: 0 is 00:00, 600 is 10:00 and 1439 is 23:59.
Can I exclude specific days such as holidays or Fridays?
No. The only filter is Weekdays only. To avoid particular dates, generate a few more dates than you need with No repeated dates on and discard the ones that fall on days you cannot use.

Looking for something else? Browse all generators or see every tool.