What this tool does
This random date generator returns dates that fall only on working days. Choose a start and end date, tell it how many dates you need, and it skips Saturdays, Sundays and the public holidays of the country you select. The result is a list you can copy, download as CSV or share as a link that reproduces the same settings.
It exists because the usual "random date" tools ignore holidays entirely, and the Excel workarounds (WORKDAY with a holiday range plus RANDBETWEEN) are fiddly and easy to get wrong. Here the holiday calendars are built in and kept current.
Which holidays are excluded
National or federal holidays for the United States (with observed dates, so a holiday falling on Saturday is taken on Friday), the United Kingdom (England & Wales bank holidays with substitute days), Canada (federal statutory holidays), Australia (national public holidays) and Germany (nationwide gesetzliche Feiertage). Regional days such as US state holidays, Scottish bank holidays or Bavarian feast days are not included by design — paste them into the custom box and they are excluded too.
After each run the tool lists exactly which holidays were skipped in your range, so you can check the calendar it used.
Common uses
- Test data — random due dates, invoice dates or shipment dates that are always plausible business days.
- Sampling and audits — pick 20 random working days in a quarter to spot-check records.
- Teaching and teams — draw a random deadline, presentation day or inspection date that will not land on a day off.
- Scheduling — choose random weekdays for reminders or rotations without manual checking.
Tips
Turn on Show weekday if you want to see at a glance that every result is a Monday–Friday. Use a seed when you need the same "random" list again later — the same seed and settings always produce the same dates. If you need a date that ignores holidays but still avoids weekends, use the random weekday generator; for a plain random date with nothing excluded, use random date between two dates.
How to do this in Excel instead
Put your holidays in a column (say H2:H20), then in a cell enter =WORKDAY(start-1, RANDBETWEEN(1, NETWORKDAYS(start, end, H2:H20)), H2:H20). It works, but every workbook needs its own holiday list and it is easy to reference the wrong range. This page does the same calculation with the holiday list already filled in.
Frequently asked questions
Does it exclude both weekends and holidays at the same time?
Yes. By default Saturday, Sunday and the selected country's national holidays are all excluded. You can turn either rule off, change which weekdays count as the weekend, and add custom dates.
Which countries are supported?
United States, United Kingdom (England & Wales), Canada, Australia and Germany, at the national or federal level. Regional holidays can be added in the custom dates box.
Are observed holidays handled?
Yes. For the US a holiday that falls on Saturday is excluded on Friday and one on Sunday is excluded on Monday, matching the federal schedule. The UK, Canada and Australia use their substitute-day rules; Germany has no substitute days.
Can I get the same random dates again later?
Enter any text in the Seed field. The same seed with the same settings always returns the same list, and the Share link button copies a URL that reproduces it.
Is there a limit?
Up to 1,000 dates per run within a range of up to 50 years, between 1900 and 2100. Everything is calculated in your browser.