Random Date Generator

Random ISO 8601 calendar dates (YYYY-MM-DD) drawn uniformly from the window 2020-01-01 to today. Set Count from 1 to 100; the output panel emits one date per line. The window and format are fixed in this version. For random integers in any range see the random number generator.

Input
Line 1:1 LF cloud_done Saved locally
Result Random Date
0 lines 0 chars

ISO dates pulled from a fixed window

Each date is sampled uniformly between 2020-01-01 at 00:00 (local time) and the moment you hit run. The result is formatted as YYYY-MM-DD via Date.prototype.toISOString().slice(0, 10), so it is always 10 characters long, zero-padded, and ready to paste into a database date column or a spreadsheet.

The Count input asks for between 1 and 100 dates. Each date is drawn independently, so duplicates are possible in larger batches. The output panel shows them one per line.

The window (2020 to today) and the output format (ISO 8601 calendar date) are fixed in this version. If you need a different window, generate dates and discard the ones you do not want, or transform the result with the find and replace tool. For random integers in any range, use the random number generator.

How to use random date generator

  1. 1Open the tool. The input panel can be left empty.
  2. 2Set Count in the option panel (default 5, maximum 100).
  3. 3The output panel fills with that many ISO dates, one per line.
  4. 4Click Copy to grab the list.
  5. 5Click Download to save as a plain-text file.

Keyboard shortcuts

Drive TextResult without touching the mouse.

Shortcut Action
Ctrl FOpen the find & replace panel inside the input Plus
Ctrl ZUndo the last input change
Ctrl Shift ZRedo
Ctrl Shift EnterToggle fullscreen focus on the editor Plus
EscClose find & replace, or exit fullscreen
Ctrl KOpen the command palette to jump to any tool Plus
Ctrl SSave current workflow draft Plus
Ctrl PRun a saved workflow Plus

What this tool actually does

Fixed window: 2020-01-01 to today

Every date is between 2020-01-01 and the current moment in your browser. The window slides forward as the year progresses. There is no option to set a custom range in this version.

ISO 8601 calendar format

Output is YYYY-MM-DD, zero-padded, 10 characters per date. This is the format Postgres, MySQL, SQLite, and most JSON APIs accept directly.

Bulk count up to 100

Set Count from 1 to 100. Each date is drawn independently; duplicates can appear.

Uniform sampling

Dates are drawn uniformly across the millisecond window, so every day in the range has the same expected probability over many runs.

Browser-only

The generator runs in JavaScript via Date and Math.random(). No upload.

Worked example

Five ISO dates from the 2020-to-now window, one per line. Each draw is independent so larger batches can include duplicates.

Input
Count: 5 - Range: 2020 to today
Output
2024-09-14
2022-03-07
2025-11-29
2021-06-18
2023-12-02

Settings reference

Option Effect on output
Count How many dates to emit. Default 5, minimum 1, maximum 100. One per line.
Window start Fixed at 2020-01-01 at 00:00 local time.
Window end The current moment when you trigger the generator.
Output format YYYY-MM-DD ISO 8601 calendar date. 10 characters, zero-padded.
Time component Discarded. The ISO string is sliced to its first 10 characters.
Random source Math.random().

FAQ

Can I change the window?
Not in this version. The window is fixed at 2020-01-01 to now. Generate a larger batch and filter the dates you do not want, or post-process with the find and replace tool.
What time zone is the date in?
The date is the UTC date portion of a JavaScript Date created from your local clock. For most users this matches the local calendar date; near midnight the UTC date may shift by one day.
Will I see duplicate dates?
Possible. Each draw is independent, so larger counts increase the odds of a repeat.
Can I get a date with the time included?
Not directly. The output is sliced to the first 10 characters (YYYY-MM-DD). If you need datetimes, you can append a fixed time after copying.
Is the output sent anywhere?
No. Generation runs in your browser. Nothing leaves the page.