🗓️ Date Sequence Generator
By ToolNimba Editorial Team · Updated 2026-06-19
This date sequence generator builds a clean list of dates from a starting point. Set a start date, choose a step (every N days, weeks, months or years), and tell it when to stop, either after a set number of dates or on or before an end date. The dates appear one per line, ready to copy into a spreadsheet, calendar, invoice schedule or to-do list. Month-end is handled correctly, so a monthly series from the 31st never spills into the wrong month.
What is the Date Sequence Generator?
A date sequence is just a series of dates that march forward by a fixed step: every day, every week, every two weeks, every month, every quarter (three months), or every year. People build these lists constantly: rent and subscription due dates, payroll runs, medication schedules, content calendars, recurring meetings, instalment plans. Doing it by hand is slow and error prone, especially once you cross a month or year boundary. This tool does the counting for you and prints the whole list at once.
The tricky part of stepping by months is what should happen when the start day does not exist in the target month. If you start on January 31 and add one month, there is no February 31. The sensible, widely used rule is to clamp to the last valid day of that month, so you get February 28 (or February 29 in a leap year). This tool follows that clamp-to-month-end rule for both month and year steps, which matches how most calendars, billing systems and spreadsheets behave. Each new date is stepped from the previous date in the series, so once a monthly run clamps from the 31st down to the 28th, the following months continue from the 28th rather than springing back to the 31st. If you need every date pinned to the last day of its month instead, start on the 28th (or pick a day that exists in every month) so no clamping is triggered.
Stepping by days or weeks is simpler because it is pure arithmetic on the calendar: adding 7 days always lands on the same weekday, and the tool rolls over month and year ends automatically. You can choose how each date is written, from ISO (2026-06-19, the safest format for spreadsheets and code) through US and European numeric styles to long, human-friendly forms that include the weekday. Optionally number each line so you can see at a glance how far into the series a given date sits.
When to use it
- Listing every rent, subscription or loan instalment due date for the year from one start date.
- Building a content or social posting calendar that publishes every few days or weekly.
- Generating recurring meeting or class dates to paste into a spreadsheet or calendar import.
- Creating a medication, watering or maintenance schedule that repeats on a fixed interval.
- Producing a quarterly (every 3 months) or annual review date list for planning and reminders.
How to use the Date Sequence Generator
- Pick the start date, the first date in your sequence.
- Choose the step unit (days, weeks, months or years) and the step size, for example every 2 weeks.
- Decide how to stop: enter a number of dates, or switch to an end date and the list stops on or before it.
- Choose an output format and optionally number each line.
- Click Generate dates, then use Copy list to paste the result wherever you need it.
Formula & method
Worked examples
A monthly rent schedule: start January 15, 2026, every 1 month, 6 dates.
- Date 1 = start = 2026-01-15
- Date 2 = add 1 month = 2026-02-15
- Date 3 = 2026-03-15
- Date 4 = 2026-04-15, Date 5 = 2026-05-15, Date 6 = 2026-06-15
- All days are valid (15th exists every month), so no clamping is needed
Result: 2026-01-15, 2026-02-15, 2026-03-15, 2026-04-15, 2026-05-15, 2026-06-15
Month-end clamping: start January 31, 2026, every 1 month, 4 dates.
- Date 1 = 2026-01-31
- Add 1 month to Jan 31: February has no 31st, clamp to last day = 2026-02-28 (2026 is not a leap year)
- Add 1 month to Feb 28: March 28 is valid = 2026-03-28
- Add 1 month to Mar 28: April 28 is valid = 2026-04-28
Result: 2026-01-31, 2026-02-28, 2026-03-28, 2026-04-28
Every 2 weeks up to an end date: start June 1, 2026, end July 1, 2026.
- Date 1 = 2026-06-01
- Add 14 days = 2026-06-15
- Add 14 days = 2026-06-29
- Add 14 days = 2026-07-13, which is after July 1, so it is dropped
Result: 2026-06-01, 2026-06-15, 2026-06-29
Step sizes for common recurring patterns
| Recurrence | Unit | Step size |
|---|---|---|
| Daily | Days | 1 |
| Every weekday block | Weeks | 1 (then filter weekends) |
| Weekly | Weeks | 1 |
| Fortnightly (every 2 weeks) | Weeks | 2 |
| Monthly | Months | 1 |
| Quarterly | Months | 3 |
| Yearly | Years | 1 |
Monthly series from January 31, 2026 (each step works from the previous date)
| Date in series | Stepping note | Result |
|---|---|---|
| 1st | start | 2026-01-31 |
| 2nd | Jan 31 + 1 month, clamped (no Feb 31) | 2026-02-28 |
| 3rd | Feb 28 + 1 month, day 28 valid | 2026-03-28 |
| 4th | Mar 28 + 1 month, day 28 valid | 2026-04-28 |
Common mistakes to avoid
- Expecting Jan 31 plus a month to overflow into March. Some naive date maths turns January 31 plus one month into March 3 (31 days added). This tool clamps to the last day of the target month instead, giving February 28 or 29, which is what calendars and billing systems use.
- Confusing step size with step unit. Every 2 weeks is unit weeks, size 2. Every 14 days produces the same dates but counts differently if you later switch units. Pick the unit that matches how you think about the recurrence so the list stays predictable.
- Mixing up count mode and end-date mode. Count mode produces exactly that many dates regardless of how far they reach. End-date mode keeps stepping only while the date is on or before your end date, so the final count depends on the step. Choose the one that matches your goal.
- Using an ambiguous date format for spreadsheets. US (MM/DD) and EU (DD/MM) formats look identical for days under 13 and can be misread on import. ISO (YYYY-MM-DD) sorts correctly and is parsed the same everywhere, so prefer it for data work.
Glossary
- Sequence
- An ordered list of dates that each differ from the previous by the same fixed step.
- Step
- The interval between consecutive dates, made of a unit (days, weeks, months, years) and a size (every N).
- Clamp
- Adjusting a day to the last valid day of a month when the original day does not exist there, such as the 31st in February.
- Leap year
- A year with 366 days, February having 29, occurring when the year is divisible by 4 (with century exceptions).
- ISO date
- The YYYY-MM-DD format defined by ISO 8601, which sorts chronologically as plain text and is unambiguous worldwide.
Frequently asked questions
How does the date sequence generator handle month-ends?
When you step by months or years and the start day does not exist in the target month, the date is clamped to the last valid day of that month. So January 31 plus one month becomes February 28 (or February 29 in a leap year), not an overflow into March. This matches how calendars and billing systems behave.
Can I generate dates between two specific dates?
Yes. Set Stop when to "On or before an end date", then enter your start and end dates and a step. The list includes the start date and every stepped date up to and including the end date, stopping before any date that would fall after it.
What is the difference between counting by number of dates and by end date?
Count mode gives you exactly the number of dates you ask for, however far they reach. End-date mode keeps stepping while the date stays on or before your end date, so the number of dates depends on the step size and the gap between start and end.
How do I make a list of every other week or every quarter?
For every other week choose unit Weeks with step size 2. For every quarter choose unit Months with step size 3. The reference table on this page lists step sizes for the most common recurring patterns.
Which output format should I use for a spreadsheet?
Use ISO (YYYY-MM-DD). It sorts chronologically as plain text, is read the same way by every spreadsheet and programming language, and avoids the day/month confusion that US and EU numeric formats can cause on import.
Is there a limit on how many dates it can generate?
The tool generates up to 2000 dates at once to keep it fast and responsive in your browser. If an end-date range would exceed that, it stops at the limit and suggests using a larger step or an earlier end date. Everything runs locally, so nothing is sent anywhere.