Random · Dates

Random date generator.

Choose a start and end date and get a random date in between, both days included. Generate a batch, skip weekends, block repeats and sort the list.

Secure browser randomnessNo sign-upNothing stored or sentChecked 18 October 2026

Advertisement

Settings

Range
Output
1 to 1,000.

Result

Choose a range and press Generate date.

How the random date generator works

Both dates are inclusive. The tool converts each date to a day number, picks a whole number between the two with equal probability, and converts it back. Because every calendar day in the range is one equally likely slot, 29 February appears at the same rate as any other day when the range includes it, and months of different lengths are never favoured or penalised.

Worked example. Start 2024-02-28, end 2024-03-01 has exactly three possible dates: 2024-02-28, 2024-02-29 (a leap day) and 2024-03-01, each with a one in three chance. Turn on Weekdays only and Saturdays and Sundays are removed before the draw, so the remaining weekdays are equally likely. The result panel shows how many dates were possible.

Details that can trip you up

What people use random dates for

Test data for databases and spreadsheets, choosing a day for a surprise, spot-check audit samples, picking a random birthday for a character or a quiz, scheduling a random review day within a month, or settling “which weekend” in a group chat. The ISO format (year-month-day) is easiest to paste into software; the long formats are easier to read aloud.

Randomness comes from the browser’s secure generator, crypto.getRandomValues(), mapped to the range by rejection sampling so no day is favoured.

Frequently asked questions

How do I generate a random date between two dates?

Enter the start and end dates and press Generate date. Both days are included, and each day in the range is equally likely.

Does it include leap days?

Yes. 29 February is a normal possible day whenever your range includes a leap year. For example, 2024-02-28 to 2024-03-01 has three possible dates, including 2024-02-29.

Can I skip weekends?

Yes. Turn on Weekdays only to draw from Monday to Friday. If your range contains only a weekend, the tool tells you there are no weekdays to pick from.

Can I get several different random dates?

Yes. Set How many and turn on "No repeats". You can ask for no more dates than the range contains.

Which date formats can I get?

ISO year-month-day (2026-10-18), a long form (October 18, 2026) and a long form with the weekday (Sunday, October 18, 2026).

What range of years does it support?

Years 1000 to 9999, with at most 500 years between the start and end dates.

Sources

Checked

Date arithmetic uses JavaScript Date.UTC day counts (MDN), so results do not depend on your time zone. The ISO year-month-day format follows the W3C profile of ISO 8601. Leap days, invalid dates, weekday filtering and range limits are unit-tested. Everything runs in your browser. Nothing you enter or generate is sent anywhere or stored.

Scope

A general-purpose random tool. It does not check holidays, business days or any calendar other than the standard calendar date. Use a dedicated calculator for working-day counts.

Advertisement
Advertisement