Random Date Generator – Pick Dates Between Two Dates

Generate one or many random calendar dates within an inclusive range. Choose predictable formats, filter weekdays, and copy or export the results—all locally in your browser.

Generate random dates

Date range

Both dates are inclusive.

Generate 1–1,000 items per run. Large results use the selectable text area.

Choose a valid range to see the eligible size.

Advanced options
Weekday filters

Output options

Results

Tip: Ctrl/Cmd + K focuses the first date field. Ctrl/Cmd + Enter regenerates.

Advertisement

Practical examples

Load a setup with one click, then generate a fresh list. The samples show the shape of the copy-ready output.

Five ISO dates for a database

5 unique dates, ISO format.

2025-01-14 2025-03-02 2025-06-19 2025-09-08 2025-12-21

Ten weekdays for a schedule

10 dates, Monday–Friday only.

2026-01-05 2026-01-12 2026-02-03 …

Unique dates in order

20 unique dates sorted chronologically.

2026-04-02 2026-04-07 2026-04-11 …

Random datetimes for testing

UTC calendar values at second precision.

2026-07-17T09:41:23Z 2026-07-18T16:08:05Z …

How the random date generator works

Instructions

Choose the start date, end date, and quantity, then select Generate dates. Advanced options control times, uniqueness, eligible weekdays, formatting, sorting, and separators.

Inclusive range and calendar math

The start and end dates are both eligible. Date-only selection uses UTC calendar-day indices, so leap days, month boundaries, and daylight-saving changes do not rely on adding fixed 24-hour local intervals. With every weekday enabled, N equals the inclusive number of days, index = floor(U × N), and the result equals the start date plus that many calendar days. With weekday filters, N is the inclusive number of eligible days and the index selects that position in the eligible-day list. Here, U is a uniform random value from 0 (inclusive) to 1 (exclusive).

Worked example

For 10–12 March with every weekday enabled, N = 3. If U = 0.60, floor(0.60 × 3) = 1, so the selected result is the second eligible day: 11 March. Filtering out that day would reduce N and rebuild the eligible list before selection.

Randomness and uniqueness

The tool uses rejection-sampled random integers from crypto.getRandomValues() when the browser provides it. Date-only values have whole-day precision. Datetimes have whole-second precision, and every datetime format displays those seconds. Unique mode uses sampling without replacement rather than repeated retries.

Formatting and limitations

Formatting happens after selection and does not change which date was picked. Datetimes are UTC calendar values, shown with a trailing Z in ISO datetime format; Unix timestamps are UTC seconds. Results are limited to 1,000 per run. The browser fallback and lack of an independent audit trail mean this tool is not for certified lotteries, cryptographic key generation, or legal drawings.

FAQs

Can the start and end dates be selected?

Yes. Both boundaries are included, so a generated result can equal either the start date or the end date when that weekday is allowed.

Why do duplicate dates occur?

When Unique is off, every pick is independent, so the same eligible date or second can be selected more than once.

How does unique mode work?

Unique mode samples without replacement at the displayed precision: whole calendar days for date-only results and whole seconds when time is included. The tool blocks requests larger than the eligible range.

Can weekends be excluded?

Yes. Choose Weekdays only, Weekends only, Any day, or include and exclude individual weekdays.

Which output formats are supported?

The formats are ISO 8601 date, US date, UK/European date, long date, date with weekday, ISO datetime, and Unix timestamp. When time is included, date formats also show time to the second.

How are time zones and daylight saving handled?

Date-only mode uses calendar-day indices, not 24-hour millisecond steps. Datetimes are generated as UTC calendar values at one-second precision, so daylight-saving transitions on your device do not shift the selected date or create missing local times.

Are leap days valid?

Yes. February 29 is eligible whenever it exists inside the selected inclusive range and its weekday is enabled.

How can results be exported to CSV or JSON?

Generate results, then use Download CSV for a one-column file or Download JSON for a JSON array. Download TXT uses the separator selected in Advanced options.

Are these dates suitable for cryptographic or legal drawings?

No. Selection uses the browser Web Crypto API when available, with a Math.random fallback clearly reported by the tool, but this page provides no independent audit trail or certified drawing process.

Explore more tools