Random Date Generator

Generate random dates between any two dates, with leap years handled correctly.

1 = January … 12 = December

1 = January … 12 = December

Every day between the two dates (inclusive) is equally likely. Leap years follow the Gregorian calendar.

About this tool

Pick random dates between a start date and an end date (both included) for test data, games, scheduling ideas or sampling. Every day in the range is equally likely and leap years follow the Gregorian calendar. Choose ISO (2026-10-07), long (7 October 2026) or US (10/07/2026) format and optionally sort the results.

Frequently asked questions

Yes. Each date is turned into a day number, a whole day is picked uniformly between the start and end (both included), and then converted back. For 1 January–31 December 2026 (365 days) each date has a 1 in 365 chance, about 0.27%.

The Gregorian rule is used: a year is a leap year if it is divisible by 4, except century years, which must be divisible by 400. So 2024 and 2000 have a 29 February, while 1900, 2026 and 2100 do not. The year 2024 has 366 days.

February has only 28 days (29 in a leap year), and April, June, September and November have 30. If you enter a day that does not exist, such as 31 February or 29 February 2026, the tool tells you instead of guessing.

ISO 8601 (YYYY-MM-DD, e.g. 2026-10-07) sorts correctly as text and is best for spreadsheets and code. "7 October 2026" is unambiguous for people, while US format (10/07/2026) puts the month first.