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.
Pick what you want
Dates in a range, or a day of the week, a month, a birthday or a year.
Set the range
Type a start and an end date, or press a quick range such as Next 30 days or Next year.
Filter and format
Keep weekdays only, leave out holidays, choose 1 of 6 formats and add a random time if you need one.
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.
Month
A random month from January to December, shown with its number.
Birthday
A random birthday as a month and day, or a full date of birth for an age range.
Year
A random year generator between any 2 years from 1 to 9999, with a leap-years-only option.
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.
| Option | What it does | Example |
|---|---|---|
| Start and end date | Sets the range. Both dates can be picked. | November 1 to 30: 30 dates |
| Quick ranges | Fills the range from today in one click. | This month, Next 30 days, Next year |
| How many | Sets the results per press, from 1 to 100. | 20 dates |
| No repeats | Stops any date from appearing twice in one list. | 31 October dates: each day once |
| Sort in calendar order | Lists results earliest first. Untick it for draw order. | 1st, 2nd and 3rd picks |
| Days of the week | Limits picks to any day, weekdays, weekends or chosen days. | Tuesdays and Thursdays |
| Leave out dates | Skips dates and runs typed as YYYY-MM-DD or MM/DD/YYYY. | 2026-12-24 to 2026-12-26 |
| Date format | Writes each date in 1 of 6 styles. | 2026-10-21 |
| Random time of day | Adds 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 CSV | Copies one result per line, or saves a CSV file with date, ISO date and weekday columns. | Open it in a spreadsheet |
| Put on a wheel | Opens 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.
| Setting | How | Dates | Chance of each |
|---|---|---|---|
| Any day | Every date in the year | 365 | 1 in 365 (0.27%) |
| Weekdays | Monday to Friday | 261 | 1 in 261 (0.38%) |
| Weekends | Saturday and Sunday | 104 | 1 in 104 (0.96%) |
| Tuesdays and Thursdays | Choose days | 104 | 1 in 104 (0.96%) |
| Weekdays, minus a holiday break | Leave out 2027-12-24 to 2027-12-26 | 260 | 1 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.
| February 29 setting | February 29 | Any other date | Dates in play |
|---|---|---|---|
| Leap-year odds (the default) | 1 in 1,461 | 4 in 1,461 (0.274%) | 366 |
| Same as any day | 1 in 366 | 1 in 366 (0.273%) | 366 |
| Leave out February 29 | Never | 1 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%
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.
| Format | Example | Good for |
|---|---|---|
| Year-month-day (ISO 8601) | 2026-10-21 | Tests and file names. The dates sort in order as plain text. |
| Month/day/year (US) | 10/21/2026 | US forms, documents and spreadsheets set to US dates. |
| Day/month/year | 21/10/2026 | Readers who write the day before the month. |
| Month name, day, year | October 21, 2026 | Invitations, emails and announcements. |
| Short weekday and month | Wed Oct 21 2026 | Matching the JavaScript Date.toDateString() output. |
| Full weekday and month | Wednesday, October 21, 2026 | Schedules 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.
Test data
Pick 100 ISO dates and press Download CSV. Untick No repeats when a test needs duplicates.
Story prompts
Set a range such as 1850 to 1899 and write a scene set on the date you get.
Study schedule
Pick 8 dates before an exam with No repeats, sorted in calendar order, as review days.
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