Date Range Generator

Generate a list of every date between two dates, daily, weekly, monthly, or yearly, with an option to exclude weekends and US federal holidays.

Results are capped at 1,000 dates to keep the list usable.

Result

Enter your dates and select Generate.

How this is calculated

Each date in the list is computed directly from your start date, not by repeatedly adding to the previous result. That distinction matters for monthly and yearly steps specifically: starting from January 31st and simply adding "one month" repeatedly would drift to the 28th after the first short month and never recover, landing on the wrong day every month after. Computing each date fresh from the original start date instead correctly returns to the 31st (or the closest valid day) every time that day exists in the target month.

Frequently asked questions

How do I generate a list of dates between two dates?

Enter a start date, an end date, and choose a step, daily, weekly, monthly, or yearly, then select Generate. The result lists every matching date along with its day of the week, and you can export the list as a CSV file.

Can I exclude weekends or holidays from the list?

Yes. Check "Exclude weekends" to skip Saturdays and Sundays, and "Also exclude US federal holidays" to skip the 11 recognized federal holidays too. Both work with any step interval.

Is there a limit to how many dates I can generate?

Yes, results are capped at 1,000 dates to keep the list usable. For a daily step, that's about 2.7 years; monthly and yearly steps can cover a much longer range within that same cap.

Built and maintained by Ready Utilities, founded by Cedrick Reese, a retired veteran and web developer. Every formula and convention on this site is checked against real, current sources before publishing. This calculator runs entirely in your browser, nothing you enter is sent anywhere. Spot something that looks wrong? Let us know.

Related tools