Back to Home
Blog

Random Date/Time

Generate random dates and times

Settings

Generated Dates

Click "Generate Dates" to create random dates

About the Random Date Generator

Anyone who has had to fill a test database with plausible-looking timestamps, or build a training set for a scheduling app, knows the tedium of typing out dozens of fake dates by hand. The Random Date Generator solves that by producing a batch of random dates and times within any range you set, so you can populate mock records, stress-test date-parsing logic, or seed a calendar demo in a few seconds instead of a few minutes of manual entry.

You control the boundaries with a start date and an end date, then choose how many results to generate — anywhere from a single date up to 100 at once. Each result can include a time component if you check the "Include time" option, and the whole batch can be rendered in ISO 8601, US (MM/DD/YYYY), EU (DD/MM/YYYY), or Unix timestamp format. Generated dates come back sorted chronologically, and you can copy an individual entry or the entire list to your clipboard with one click.

Because the random selection is uniform across the full millisecond range between your start and end dates, the results won't cluster suspiciously around round numbers the way hand-picked "random" dates often do — useful if you're generating test data that needs to look genuinely unpredictable. Keep in mind that the end date acts as a cut-off at midnight (in your time zone) at the start of that day: a range of 1 to 31 January returns dates from the 1st to the 30th, so set the end one day later if the last day must be possible.

How to generate random dates

Set a date range and format, then generate a batch of random dates or timestamps.

  1. 1

    Set the start date

    Pick the earliest date the generator should be allowed to pick from.

  2. 2

    Set the end date

    Pick the latest date to bound the range; results will fall somewhere between the two.

  3. 3

    Choose how many dates to generate

    Enter a number from 1 to 100 in the "Number of Dates" field.

  4. 4

    Pick a format and optional time

    Select ISO 8601, US, EU, or Unix timestamp format, and check "Include time" if you need clock times as well as dates.

  5. 5

    Generate the dates

    Click "Generate Dates" to produce the sorted list of random results.

  6. 6

    Copy the results

    Copy a single date with its row's Copy button, or copy the entire batch at once using the copy-all icon.

Worked examples

Five order dates for test data in January

Input
Start Date 2026-01-01, End Date 2026-02-01, Number of Dates 5, Format ISO 8601, Include time off
Result
Five dates such as 2026-01-04, 2026-01-11, 2026-01-11, 2026-01-23, 2026-01-30 — sorted oldest first

The end date works as a cut-off at midnight at the start of that day in your time zone, so 2026-02-01 itself is never returned; set the end to the day after your last wanted day to include it. Repeats are possible — see the tips.

Timestamps for a log-parsing test

Input
Start Date 2026-09-01, End Date 2026-09-02, Number of Dates 3, Format ISO 8601, Include time on
Result
Three values like 2026-09-01T03:17:42.518Z, 2026-09-01T11:05:09.001Z, 2026-09-01T22:48:30.764Z

The range is 1 September in your own time zone, but ISO output with time is written in UTC (the trailing Z) and keeps milliseconds. West of UTC some values therefore read as 2 September — the instant is the same.

Epoch seconds for a database seed

Input
Same range, Format Unix Timestamp
Result
Values from 1788220800 up to 1788307199 when your browser is on UTC; in other zones the window shifts by your UTC offset (in New York, 1788235200 to 1788321599)

Unix output is always whole seconds and always carries a time of day, whether or not Include time is ticked.

Tips and common mistakes

  • Each date is drawn independently, so duplicates happen more often than people expect. Picking 5 whole days from a 31-day window gives at least one repeat about 29% of the time. If you need distinct dates, widen the range or generate more and delete the repeats.
  • The results are always re-sorted from earliest to latest. If you need them in random order — for shuffled test fixtures, say — shuffle them after copying, for example with the List Randomizer.
  • Without a time, every format shows the calendar date in your own time zone. With Include time ticked, ISO 8601 is written in UTC (ending in Z) while US and EU show local clock time, so a value near midnight can show different dates in ISO and in US/EU format. Pick one format per dataset.
  • Changing Format or Include time re-formats the list you already have; only the Generate Dates button draws new values.
  • This uses the browser's ordinary random number generator. It is fine for test data, samples and games, but not for anything where someone could gain from predicting the result.

Frequently Asked Questions

What does the random date and time generator do?

It generates random dates and times within a range you specify. This is useful for populating test databases, creating sample datasets, testing date-handling code, or any scenario where you need plausible but arbitrary timestamps.

Can I specify a date range for generation?

Yes, set a start date and an end date and all generated timestamps will fall uniformly at random from the start of the first day up to (but not including) midnight at the start of the end date, both in your own time zone. Tick Include time for full timestamps, or leave it off for date-only values.

What output formats are available?

Four formats: ISO 8601 (2026-01-15, or 2026-01-15T08:42:10.512Z with Include time), US (1/15/2026), EU (15/01/2026) and Unix timestamp in seconds. Copy a single value with its Copy button, or the whole list, one date per line, with the copy-all icon.

Are the dates evenly spread over the range?

Yes. Each result is a uniformly random moment between the start and end dates, so every day in the range is equally likely. With only a handful of results the list will still look lumpy — that is normal for random draws.

Can I generate more than 100 dates?

The field is designed for 1 to 100 dates per batch, which keeps the list readable. For a bigger dataset, run several batches and paste them together with the Copy all button.