Random date generator
Generate random dates from any range, in the format you need.
Related tools
Random date generator
Set a start and an end date and get random dates drawn from between them, one per line. Both bounds count, so a range of a single day always returns that day. The default range spans 2000-01-01 to 2030-12-31, but anything works — a week for picking a meeting day, a decade for sample birthdays, or a century for historical fiction. Ask for one date or up to a thousand, ready to paste into a spreadsheet, a test fixture or a script.
The format menu covers the usual needs: ISO YYYY-MM-DD for spreadsheets and databases, DD.MM.YYYY and MM/DD/YYYY for European and US documents, a long written-out form that follows the page language, and full ISO 8601 with time for logs and APIs. "Include time" adds a random time of day to any of them; the ISO-with-time format switches it on by itself.
"Unique dates" guarantees that no calendar day appears twice — handy for schedules, rotas or sampling without replacement. If the range holds fewer days than you asked for, the tool says so calmly instead of spinning forever. "Sort ascending" puts the result into chronological order, which is what timelines and seed data usually want; leave it off when the draw order itself matters.
Randomness comes from crypto.getRandomValues with rejection sampling, so every day in the range is exactly as likely as any other — no drift towards either end. Everything runs in your browser: ranges and results are generated locally and never uploaded, so the dates you draw stay yours alone.