Random Date Generator

Results

Generate 1 to 30 random calendar dates between two ISO dates. Both endpoints are eligible, including a range made from a single day. Each calendar day receives the same probability on every draw. Output shows the stable YYYY-MM-DD value followed by the weekday in the page language. There are no weekday filters, alternate formats, seed or cryptographic-randomness guarantee.

Generate dates

  1. 1

    Choose the inclusive range

    Enter valid start and end dates; the end may equal the start but cannot be earlier.

  2. 2

    Choose 1 to 30 draws

    Each draw is independent, so duplicate dates can appear.

  3. 3

    Regenerate

    Draw another batch from the same whole-day range.

Sampling rule

The tool parses each input strictly as YYYY-MM-DD in UTC, counts the whole-day offsets between the dates, and draws an integer from 0 through that count with both ends included. It then adds the offset to the start date. Sampling by day avoids the endpoint bias and time-of-day effects caused by choosing random seconds.

Draws are independent and made with PHP’s random_int; the tool does not expose a repeatable seed. It may return the same date more than once. Invalid dates or an end before the start produce no list. Dates represent proleptic Gregorian calendar labels rather than moments with a local time or timezone.

The controls are server-backed, and guided-flow values also appear in the URL. Do not put sensitive information into date fields; none is needed.

Frequently Asked Questions

Yes. A one-day range always returns that day, and the final date has the same chance as every other date.

Yes. Every output is an independent draw with replacement.

No. The tool returns ISO dates plus a localized weekday only.

No. There is no deterministic or reproducible seed control.

Related Tools

Tool available in other languages