Random Date Generator

Choose a start and end date to pick random calendar days within that range. Both dates are eligible.

Settings

Configure your result

1–100 dates per generation

Each click generates a new result.

Result

Waiting for input

No result yet

Generate a result using the settings on the left.

Runs in your browser. Your input is not uploaded.1–100 dates per generation

About the random date generator

A random date generator selects whole calendar days between two endpoints. Each day in the range has an equal chance on each pick. Use it for fictional timelines, date-based prompts, games, or sample records when you need valid dates rather than arbitrary text. Results use the year-month-day format so the day and month are unambiguous.

How to use the date generator

  1. Choose Start date and End date. The end must be the same as or later than the start.
  2. Set How many from 1 to 100. Every pick samples the full range independently.
  3. Click Pick dates. Copy or download the displayed dates and turn off numbering if you need one plain date per line.

Date generator example

One possible result is shown below. Your result will vary.

Settings

Start date: 2026-01-01
End date: 2026-01-10
How many: 3

Example result

1. 2026-01-07
2. 2026-01-02
3. 2026-01-10

The range contains ten calendar days. January 10 is eligible because the end date is included.

When to use it

Fiction and creative prompts

Pick a date for a fictional event or a writing exercise. Set an appropriate historical or future range before generating.

Sample date fields

Create a small set of calendar values to populate examples or try a date input. These are generated sample values, not real event records.

Date-based games

Choose a day for a guessing exercise or calendar activity. The tool includes weekends and holidays unless you narrow the range yourself.

Options and input rules

Inclusive calendar range
Start and end days are included. Equal endpoints are valid and will return that same date for every requested pick.
Repeated dates
Dates can repeat because picks are independent. There is no uniqueness setting, weekday-only filter, or holiday exclusion.
Date format
Output uses YYYY-MM-DD. Days are calculated at UTC midnight so a date is not shifted by the browser’s local time zone.

How the randomization works

This tool uses the browser’s crypto.getRandomValues() source. Integer selection uses rejection sampling to avoid modulo bias. Each generated value is sampled from the eligible outcomes; the options above determine whether previous selections in the same batch remain eligible.

Entries and results stay in this page’s memory. This site does not upload your input or keep a saved history. A new generation replaces the displayed result; copy or download anything you want to keep before reloading or leaving the page.

Frequently asked questions

Does it include leap days?

Yes. A valid February 29 is part of the range in a leap year. Invalid calendar dates are rejected.

Can I exclude weekends?

Not in this version. Every day between the endpoints is eligible, including Saturdays, Sundays, and local holidays.

Can the same date appear more than once?

Yes. Each pick draws from the full range. Generating multiple results does not remove previously selected dates.

Does it also generate a time?

No. It selects calendar days only. Use Time generator for a random time within a same-day window.