Random Date Generator
Generate random dates between any start and end date. Pick one or multiple dates and optionally include only weekdays or weekends.
Random date generator
Advertisement
Dates are selected locally with the browser Web Crypto API over a UTC day range.
How to Use
- Choose a start and end date; both are included in the range.
- Set the quantity and optionally restrict days to weekdays or weekends.
- Pick the output format you want for the results and for copying.
- Press Generate dates, then copy or generate again.
Advertisement
How It Works
The date range is converted to whole days since the UTC epoch, and each result is a uniformly
random day offset drawn with crypto.getRandomValues(). Working in UTC avoids daylight
saving shifts and timezone ambiguity: every day in the range exists exactly once. Endpoints are
inclusive.
Day filters restrict the candidate pool before selection. The tool counts matching days arithmetically first — weekday and weekend counts follow the weekly cycle — so unique requests are validated before any draw. If a range contains no weekend days, for example, the tool says so instead of looping forever.
Formatting happens after selection, so switching the output format and copying again reuses the same generated dates. Nothing is sent anywhere.
Examples
- Story timeline: 5 unique dates between 2000 and 2030 for fictional journal entries.
- Scheduling practice: 10 weekdays only between two dates for calendar exercises.
- Weekend ideas: 4 weekend dates in a season for activity planning.
- Test fixtures: 25 ISO-formatted dates to seed a database or spreadsheet.
Common Uses
- Generating realistic dates for test data, demos and fixtures.
- Picking random days for journaling prompts, challenges and habits.
- Creating weekday-only schedules for classroom and work planning.
- Choosing random historical dates for quizzes and trivia.
Frequently Asked Questions
Are the start and end dates included?
Yes. Both endpoints are part of the range, matching the inclusive behavior of the other generators on this site.
How do weekdays-only and weekends-only filters work?
The generator filters candidate dates by UTC day of week before selection. Weekdays are Monday–Friday and weekends are Saturday–Sunday. The matching-day count is validated first, so unique requests that cannot be satisfied fail fast with a clear message.
Can I get unique dates only?
Yes. Enable unique dates and no date repeats within the batch. For small ranges with a day filter, the tool tells you how many matching days are available.
Which output formats are available?
ISO 8601 (2026-09-20), long US (September 20, 2026), compact US (9/20/26) and a weekday format (Sunday, September 20, 2026). Copy uses the format you selected.
Are dates generated with secure randomness?
Yes. Day offsets are drawn with crypto.getRandomValues() and unbiased sampling, then converted to UTC dates. No date in the range is more likely than another.
Related Tools
Last updated: