Random Date Generator for Any Range

A random date generator picks calendar dates by chance from a range you set, and every allowed date has the same chance. This one also picks a random day of the week, month, birthday or year, 1 to 100 at a time.

Settings

What to pick

Set your options, then press Generate.

Results

Your random date shows here. Choose a range, then press Generate.

More options

Days of the week

Quick start

How to use the random date generator

The range starts as the next 12 months from today, so Generate works on the first press. A status line just before the button shows how many dates match.

  1. Pick what you want

    Dates in a range, or a day of the week, a month, a birthday or a year.

  2. Set the range

    Type a start and an end date, or press a quick range such as Next 30 days or Next year.

  3. Filter and format

    Keep weekdays only, leave out holidays, choose 1 of 6 formats and add a random time if you need one.

  4. Generate and export

    Ask for 1 to 100 results, press Generate, then Copy all, Download CSV or Put on a wheel.

Five modes

A random day, month, birthday or year generator

Besides full dates, 4 quick modes pick just the part you need. Each one uses the same How many, No repeats and Sort in calendar order settings.

  • Day of the week

    A random day generator for Sunday to Saturday. Limit it to weekdays, weekends or days you choose.

    1 in 71 in 5 on weekdays

  • Month

    A random month from January to December, shown with its number.

    1 in 12

  • Birthday

    A random birthday as a month and day, or a full date of birth for an age range.

    366 datesAges 0 to 120

  • Year

    A random year generator between any 2 years from 1 to 9999, with a leap-years-only option.

    201 years by default

With No repeats on, Day of the week can list at most 7 results and Month at most 12. Asking for 10 dates with No repeats in a 7-day range says that only 7 dates match.

Settings

Random date generator options and filters

Each option either limits which dates can be picked or changes how the results are written.

Options and what they do
OptionWhat it doesExample
Start and end dateSets the range. Both dates can be picked.November 1 to 30: 30 dates
Quick rangesFills the range from today in one click.This month, Next 30 days, Next year
How manySets the results per press, from 1 to 100.20 dates
No repeatsStops any date from appearing twice in one list.31 October dates: each day once
Sort in calendar orderLists results earliest first. Untick it for draw order.1st, 2nd and 3rd picks
Days of the weekLimits picks to any day, weekdays, weekends or chosen days.Tuesdays and Thursdays
Leave out datesSkips dates and runs typed as YYYY-MM-DD or MM/DD/YYYY.2026-12-24 to 2026-12-26
Date formatWrites each date in 1 of 6 styles.2026-10-21
Random time of dayAdds a time in a window, rounded to 1, 5, 10, 15, 30 or 60 minutes.09:00 to 17:00, every 15 minutes
Copy all and Download CSVCopies one result per line, or saves a CSV file with date, ISO date and weekday columns.Open it in a spreadsheet
Put on a wheelOpens the list on the main spinning wheel, one result per slice.Spin for 1 of 5 dates

A leave-out run can use “to”, two dots or a spaced dash. Anything the box cannot read is listed in red and not left out. Holidays are not built into the random date generator, so type the ones that apply to you.

Worked numbers

How many dates match your filters in 2027

Filters shrink the pool, and every date left in it has exactly the same chance. The random date generator counts the matching dates, draws one position in that count, then finds the date in that position.

Dates that match common settings in 2027, and the chance of any one of them
SettingHowDatesChance of each
Any dayEvery date in the year3651 in 365 (0.27%)
WeekdaysMonday to Friday2611 in 261 (0.38%)
WeekendsSaturday and Sunday1041 in 104 (0.96%)
Tuesdays and ThursdaysChoose days1041 in 104 (0.96%)
Weekdays, minus a holiday breakLeave out 2027-12-24 to 2027-12-262601 in 260 (0.38%)

Dates are counted as whole calendar days, so a daylight saving change or a time zone never shifts a date. The “today” in the quick ranges is the date on your device. Picks come from your browser's secure random generator, and the randomness test page explains the checks.

Birthday mode

How the random birthday generator treats February 29

A random birthday is a month and a day, and you choose how often February 29 turns up. The default copies real life: a 4-year cycle has 1,461 days and only one of them is February 29.

The three February 29 settings for a birthday with no year
February 29 settingFebruary 29Any other dateDates in play
Leap-year odds (the default)1 in 1,4614 in 1,461 (0.274%)366
Same as any day1 in 3661 in 366 (0.273%)366
Leave out February 29Never1 in 365 (0.274%)365

Tick Add a birth year and the random birthday generator turns into a date-of-birth picker for an age range, such as 18 to 65, with each person's age shown. Ages run from 0 to 120, counted from today's date on your device.

The birthday problem

How often random birthdays share a date

Generate just 23 random birthdays with No repeats off, and two of them share a date more often than not. It feels too few, but each new birthday has to miss every one before it.

That is the birthday problem, and the numbers here are worked out exactly for this generator's leap-year weighting. They land within a tenth of a point of the classic 365-day answer.

Planning a game where every character needs a different birthday? Leave No repeats on, and the list can hold up to 366 birthdays with none shared. Want realistic overlap for test data? Turn it off.

  • 10 random birthdays11.7%
  • 23 random birthdays50.7%
  • 30 random birthdays70.6%
  • 41 random birthdays90.3%
  • 57 random birthdays99%
Chance that at least two share a month and day, with February 29 at leap-year odds and No repeats off.

Years

Random year generator and the leap year rule

Leap years follow the Gregorian rule: a year divisible by 4 is a leap year, except century years, which must divide by 400. 2000 was a leap year, while 1900 was not and 2100 will not be.

  • 201Years from 1900 to 210049 of them leap years
  • 97Leap years every 400146,097 days, exactly 20,871 weeks
  • 2,424Leap years, 1 to 9999Out of 9,999 years in range
  • 3,652,059Dates in the full rangeJanuary 1, 1 to December 31, 9999

February 29 can only come up when the range holds a leap year: January 1 to December 31, 2028 holds 366 dates, and the same range in 2027 holds 365. The random date generator applies the Gregorian rules to every year from 1 to 9,999, even years before that calendar came into use.

Output

Date formats and random times, with examples

The random date generator writes dates in 6 formats, shown here for Wednesday, October 21, 2026. Changing the format rewrites the current list at once.

The same date in each format
FormatExampleGood for
Year-month-day (ISO 8601)2026-10-21Tests and file names. The dates sort in order as plain text.
Month/day/year (US)10/21/2026US forms, documents and spreadsheets set to US dates.
Day/month/year21/10/2026Readers who write the day before the month.
Month name, day, yearOctober 21, 2026Invitations, emails and announcements.
Short weekday and monthWed Oct 21 2026Matching the JavaScript Date.toDateString() output.
Full weekday and monthWednesday, October 21, 2026Schedules where the day of the week matters.

Add a random time of day and each date gets a time in your window, on a 12-hour clock (2:05 PM) or a 24-hour clock (14:05). A 09:00 to 17:00 window rounded to 15 minutes holds 33 possible times; the full day at 1-minute steps holds 1,440. The CSV file always adds an ISO date column, whatever style the list uses.

Ideas

What people use random dates for

Scheduling, test data, giveaways, stories and study plans each suit different settings of the random date generator.

  • Meeting dates

    Next 30 days, Weekdays, and a time from 09:00 to 17:00 rounded to 30 minutes.

    WeekdaysRandom time

  • Test data

    Pick 100 ISO dates and press Download CSV. Untick No repeats when a test needs duplicates.

    ISO 8601CSV

  • Story prompts

    Set a range such as 1850 to 1899 and write a scene set on the date you get.

    Full weekday

  • Study schedule

    Pick 8 dates before an exam with No repeats, sorted in calendar order, as review days.

    No repeatsSorted

Running a giveaway? Pick 1 weekday in the week after entries close, then run the draw itself on the raffle wheel. Give each game character a random birthday, then find the star sign on the zodiac wheel. For plain numbers from a range, use the random number wheel, and for a choice between plans, a decision wheel.

FAQ

Random date generator FAQ

Can I get a random date between two dates?

Yes. Pick a start date and an end date, then press Generate. Both dates can be picked, and every date between them has the same chance.

Can it skip weekends and holidays?

Yes. Choose Weekdays to keep Monday to Friday, then type holiday dates in Leave out dates. Holidays are not built in, so add the ones that apply to you.

How is February 29 handled?

It appears only when the range includes a leap year. In Birthday mode without a year, it comes up at leap-year odds (1 in 1,461) unless you change the setting.

How many dates can I generate at once?

Up to 100 per press. With No repeats on, the list cannot be longer than the number of dates that match your settings.

Can I use the dates in Excel or Google Sheets?

Yes. Download CSV saves columns for the date, an ISO date, the weekday and the time when one is added. Copy all copies one result per line.

Is there a random year generator for a set span?

Yes. Choose Year, type the first and last year (1 to 9999) and press Generate. Leap years only narrows the pool.

Does the random date generator save my dates?

Your settings and last list stay in this browser only. The dates are made on your device and kept in local storage, not in an account.

Can I spin a wheel of the dates?

Yes. Put on a wheel opens the main wheel with one slice per result, so a spin picks 1 date from your list.

Last updated · Written and tested by Melissa T. Brown