Any range
From a three-day window to four centuries, with presets for the ranges people ask for most.
Free random date picker
Pick a random date between any two dates. Generate one or up to a hundred at once, filter by day of the week, add a random time and export the whole list.
Every date in your range has an equal chance. Nothing is uploaded or stored.
This random date generator picks calendar dates by chance from a window you define. You set the two ends of the range, decide how many dates you want, and the tool returns results in which every qualifying day carried an identical chance of being chosen. Both the start and the end date are included, which matters more often than people expect, particularly when the range is only a few days wide.
The reason to use a generator rather than choosing a date yourself is that people are remarkably bad at being random. Asked to pick a day at random, most of us gravitate toward the middle of a month, avoid the very start and end of a range, favour dates that feel significant and almost never land on a Sunday. Those tendencies are invisible while you are doing it but obvious in aggregate, and they undermine anything that depends on the selection being impartial.
Beyond the basic pick, the tool covers the details that usually force people into a spreadsheet. You can restrict results to particular days of the week, which is how you generate a random Saturday or a random working day. You can attach a random time to each result, switch between six date formats, keep every result unique, sort them chronologically, and export the lot as a CSV file when you need the dates somewhere other than this page.
Everything runs in your browser. Nothing you type is transmitted or stored, there is no account to create, and there is no limit on how many dates you generate or how often you come back.
Type a start and end date into the From and To fields, or use one of the quick presets such as next 30 days, this calendar year, the past decade or the twentieth century. Both ends of the range are included in the draw.
One date is the default. Raise the number to anything up to a hundred when you are sampling, scheduling a series or seeding a database, and pick the date format you want the results displayed in.
Open Advanced options to switch individual weekdays on or off, keep every result unique, attach a random time to each date, or sort the finished list oldest first. The panel also tells you how many dates your range currently contains.
Press the generate button and the results appear immediately, with the weekday, day of year, ISO week and quarter shown alongside a single result. Copy the list to your clipboard, or download it as a CSV file.
More than a single random day
The controls that usually send people to a spreadsheet are built straight into the tool.
From a three-day window to four centuries, with presets for the ranges people ask for most.
Include or exclude any day of the week to generate a random Saturday or a random working day.
Attach a random time to every date and download the finished list as a CSV file.
The same tool covers prize draws, software testing, teaching and everyday planning.
Pick a random day for a draw to take place, or select random dates from an entry window so nobody can predict when a winner will be chosen. Because every day carries equal weight, the process is defensible if anyone questions it.
Populating a database with realistic dates is a routine part of building software. Generate a hundred distinct dates across a plausible range, export them as CSV and drop them straight into a seed script or spreadsheet.
Teachers use random dates as prompts for calendar practice, for history lessons where a class researches whatever happened on the day that came up, or for maths exercises on intervals, leap years and days of the week.
Auditors and quality teams frequently need to inspect records from randomly chosen days rather than days they picked themselves. Generating the sample dates in advance removes any suggestion that the selection was convenient.
When a task simply needs to happen sometime in the next quarter and nobody can settle on when, generating a date ends the discussion. Filtering to weekdays keeps the result practical for anything work related.
Set the range to a century that interests you and use whatever comes up as a starting point for research. It is a simple way to break out of the handful of famous dates that dominate most reading on a period.
Use a random date as a constraint for a story, a time-travel destination in a tabletop game, or the seed for a challenge where players research or recreate something from the day the generator produced.
Choosing a surprise date for a celebration, a monthly team outing or a recurring check-in works better when nobody, including the organiser, can anticipate it. Weekend-only filtering makes the result realistic for social plans.
Six formats are available, and the one you should pick depends on where the dates are going.
21 August 2026
Day-first long form, standard in the UK, Ireland, Australia, India and much of Europe. Unambiguous because the month is spelled out.
August 21, 2026
Month-first long form used across the United States. Also unambiguous, and the usual choice for American publications and correspondence.
2026-08-21
The ISO 8601 standard. Sorts correctly as plain text, which is why it is the safest format for spreadsheets, filenames, databases and CSV exports.
21/08/2026
Day-first numeric form. Compact but risky in international contexts, since 08/09 could be read as either 8 September or 9 August.
08/21/2026
Month-first numeric form used in the United States. Carries the same ambiguity as the day-first version when the reader's convention differs.
Fri, 21 Aug 2026
Short form with the weekday included. Useful when the day of the week matters more than the exact date, such as in scheduling.
If the dates are going into a spreadsheet, a filename or a database, use the ISO format. It is the only one of the six that sorts correctly when treated as plain text, because the year comes first and every component is zero-padded to a fixed width. The CSV export always uses ISO for exactly this reason, regardless of which format you are viewing on screen.
If the dates are going in front of an international audience, prefer a format with the month spelled out. The purely numeric forms are compact but genuinely ambiguous: a date written 08/09/2026 means 8 September to most of the world and 9 August in the United States, and there is no way for a reader to tell which was intended without knowing where it was written.
Correct calendar maths, real control over the output, and nothing collected along the way.
Everything is calculated in your own browser. The ranges you type and the dates you generate are never transmitted, never logged and never associated with an account, because there are no accounts.
Leap years, month lengths, day-of-week calculations and ISO week numbers are all handled correctly, and dates are computed in UTC so they never shift by a day because of a time zone.
Generate one date or a hundred, as many times as you want. No daily caps, no watermarks, no sign-up wall and no features reserved for a paid tier.
The layout is fully responsive, so the date fields, filters and results stack cleanly on a phone and spread out on a desktop without anything being cut off or squeezed.
Date handling is one of those areas where small mistakes are easy to make and hard to spot. The two that catch most tools are leap years and time zones. Working in whole days rather than months avoids the first, so 29 February turns up in 2028 and never in 2027. Calculating in Coordinated Universal Time avoids the second, which is the reason a date generated late at night in one country does not quietly become the previous day for someone reading it in another.
The other thing that separates a useful generator from a novelty one is control over the output. A single unfiltered date is fine for settling a question, but most real uses have a constraint attached: it has to be a weekday, or there have to be twenty of them and none can repeat, or they need to arrive as a file rather than as text on a screen. Those options are all here rather than being left as an exercise for the person using the tool.
If the date is settled, one of these can settle whatever comes next.
Spin for a random letter from A to Z for games and lessons.
Build a custom wheel from any list of your own options.
Settle a straight yes or no question in a single spin.
Spin the wheel to decide what to eat tonight.
Land on a country at random and read its full profile.
Pull a random emoji for prompts, games and captions.
Questions, answered
A random date generator is a tool that selects a calendar date at random from a range you define. You set a start date and an end date, choose how many dates you need, and the generator returns dates drawn from that window by chance rather than by any pattern. It is used for everything from planning and prize draws to producing realistic sample data for testing.
Enter your start date in the From field and your end date in the To field, then press Generate random date. Both dates are inclusive, so the first and last day of your range are just as likely to be selected as any day in the middle. If you enter the dates the wrong way round, the tool quietly swaps them rather than returning an error.
Yes. Set the how many dates field to any number up to 100 and the generator will return that many results in one go. By default repeats are switched off, so every date in the list is different, which is what you usually want for scheduling, sampling or drawing multiple winners.
Yes, and it is one of the most useful features here. Open Advanced options and you can switch individual weekdays on or off, or use the shortcuts for weekdays only and weekends only. This is how you generate a random Saturday, a random working day, or a date that avoids Sundays entirely.
Yes. Each date is chosen using your browser's built-in random number generator, and every day that matches your range and weekday filters carries exactly the same chance of being picked. There is no weighting toward round numbers, month starts, recent years or anything else, and no memory of what came up on a previous run.
It does. All the underlying maths works on whole days rather than months, so 29 February appears in leap years and is correctly absent from every other year. The result card also tells you whether the year you landed on is a leap year, along with the day of the year and the ISO week number.
No. Dates are calculated as whole days in Coordinated Universal Time rather than as local timestamps, which removes the classic off-by-one error where a date near midnight slides into the previous or next day depending on where the user is. A date generated in Karachi and the same date generated in Los Angeles will read identically.
Yes. Turn on Add a random time in Advanced options and each result gains a random hour and minute in 24-hour format. This is helpful when you are producing test data, scheduling something that needs a time slot as well as a day, or building a realistic-looking timestamp for a demo.
You can switch between six common formats: 21 August 2026, August 21 2026, the ISO standard 2026-08-21, the day-first 21/08/2026, the month-first 08/21/2026, and a short form with the weekday such as Fri, 21 Aug 2026. Changing the format updates the results already on screen, so you do not need to generate them again.
Yes. When you generate more than one date a Download CSV button appears, giving you a file with a column for the date in ISO format, a column for the weekday, and a time column if you enabled random times. There is also a copy button that puts the whole list on your clipboard in whichever format you are currently viewing.
You can. Set the range to cover the birth years you are interested in, for example 1 January 1990 to 31 December 2005 for people in their twenties and thirties, and generate as many as you need. This is a common requirement when building test accounts or sample records, though it should never be used to impersonate a real person.
Yes. The range is not limited to the current year or even the current century. The quick presets include the twentieth century and any day since 1900, and you can type any start and end date you like into the fields directly, whether that is a medieval window for a history lesson or a range decades ahead for long-term planning.
Yes, completely. There is no account, no sign-up, no trial period and no premium tier holding features back. You can generate as many dates as you like, as often as you like, and every option including weekday filtering and CSV export is available to everyone.
No. The entire tool runs inside your browser, so the ranges you enter and the dates you generate never travel to a server and are not linked to you in any way. Closing or refreshing the page clears the results, and nothing is written to your device except the page itself.