Settings
Generate
From and to
to
Times between
and
Random dates Waiting
0 generated Range – 0 repeats

Runs entirely in your browser. Nothing is sent or saved, except your settings.

This random date generator creates as many random dates, times or timestamps as you need, from 1 to 100,000 at a time. Pick a range like the last 12 months, a birthday range, the 20th century or a custom span back to 3000 BC. Then limit it to weekdays or weekends, choose a time window, turn off repeats, and format the results as ISO 8601, US or European dates, written-out dates, SQL timestamps, Unix timestamps or your own pattern. The list updates as you change settings, and you can copy it or download it as a text file, a CSV or JSON.

How to generate random dates

  1. Choose Dates, Dates & times or Times.
  2. Pick a Range, or type your own From and To dates.
  3. Set How many, and narrow it down with Days, Times between and No repeats if you need to.
  4. Choose a Format and an Order, then copy the list or download it. Click New dates for a fresh set.

Date formats

FormatExampleGood for
ISO 86012026-10-12 or 2026-10-12T14:30:00ZCode, APIs, JSON and anything that needs to sort correctly
SQL2026-10-12 14:30:00Inserting into MySQL, PostgreSQL and SQLite
US10/12/2026Forms and spreadsheets set to US dates
European12/10/2026UK, European and most non-US spreadsheets
Long, short and with weekdayOctober 12, 2026, Oct 12, 2026, Monday, October 12, 2026Writing, invitations and anything people read
Unix timestamp1791813909Databases and code that store time as seconds or milliseconds since 1970
CustomDDDD [the] Do [of] MMMM gives Monday the 12th of OctoberAny format you need

Custom formats use tokens: YYYY for the year, MMMM, MMM, MM and M for the month, DD, D and Do for the day, DDDD and DDD for the weekday, HH, H, hh and h for the hour, mm and ss for minutes and seconds, A for AM or PM, ERA for AD or BC, Z for the time zone offset and X for a Unix timestamp. Anything in square brackets is printed as written.

Options

OptionWhat it does
RangeReady-made ranges relative to today, like the last 30 days, the next 12 months or birthdays for ages 18 to 80, plus historical ranges. Typing a date switches to Custom.
DaysAny day, weekdays only (Monday to Friday) or weekends only.
Times betweenLimits times to a window, like 09:00 to 17:00 for business hours. A window that ends earlier than it starts, like 22:00 to 06:00, runs overnight.
No repeatsEvery result is different. If you ask for more than the range allows, like 50 weekend days in a single month, you get every possible one and a note saying so.
OrderRandom, oldest first or newest first.
SeedType any word or number to get the same results every time, which is useful for repeatable test data. New dates moves to the next set for that seed.
UTCUnix timestamps and ISO time zone offsets use UTC instead of your local time zone.

Every day in the range is equally likely, so a range of years isn’t skewed toward any particular month, and leap days turn up as often as they should. The randomness comes from your browser’s secure random number generator unless you set a seed.

BC dates and historical ranges

Type BC dates as 44 BC, March 15, 44 BC or -44. There’s no year 0, so 1 BC is followed by 1 AD. Dates use the proleptic Gregorian calendar, which extends today’s calendar backward. It keeps every result consistent, but before 1582 it won’t match the Julian dates used in most historical records. ISO 8601 output follows the ISO standard for early dates, where 1 BC is year 0000 and 44 BC is -0043.

Frequently asked questions

Can I generate random birthdays?

Yes. Choose Birthdays (ages 18 to 80) as the range, or set your own range for a different age group. Use a long or short format if the dates are for people to read.

How do I get random times only?

Click Times at the top. Set a window with Times between, choose a 12- or 24-hour clock, and turn seconds on or off.

Can I import the dates into Excel or Google Sheets?

Yes. Download the CSV. It has the formatted result, the weekday, an ISO 8601 date and a Unix timestamp. Spreadsheets recognize the ISO column as dates in any language setting.

Why do I get the same dates every time?

You’ve set a seed. Seeds make the results repeatable. Clear the seed for a new random set each time, or click New dates to step to the next set for that seed.

Is it truly random?

Without a seed, it uses your browser’s cryptographic random number generator, the same source used for passwords and keys. Dates are picked evenly, with no rounding bias.

Is anything uploaded or stored?

No. Everything runs in your browser. Only your settings are remembered in your browser for next time.

Our Full Text Tool Library

Flipper File