ToolNimba

๐Ÿ—“๏ธ Date Sequence Generator

Shihab Mia By Shihab Mia ยท Updated 2026-07-07

Set your start date and options, then generate the list.

A date sequence generator builds a clean, ordered list of dates that step forward by a fixed interval. 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 print one per line, ready to copy into a spreadsheet, calendar import, invoice schedule or to-do list. Month-end is handled correctly, so a monthly series that begins on the 31st never spills into the wrong month. Everything runs in your browser, so nothing you enter is uploaded anywhere.

What is the Date Sequence Generator?

A date sequence is a series of dates that march forward by a fixed step: every day, every week, every two weeks (a fortnight), every month, every quarter (three months), or every year. People build these lists constantly, for rent and subscription due dates, payroll runs, medication schedules, content calendars, recurring meetings, class timetables and 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, then lets you copy it in a single click.

The answer most people want first: to list every date between two dates, set the stop mode to an end date, enter your start and end, pick a step, and the generator walks forward from the start adding that interval each time, collecting every date up to and including the end date. To get a fixed number of dates instead, switch to count mode and enter how many you need. The start date is always the first item in the list (item number 1), so a count of 6 gives the start plus 5 stepped dates.

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, start on the 28th or an earlier 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, adding 14 days gives an every-other-week (fortnightly) pattern, and the tool rolls over month and year ends automatically. Leap years are handled for you: February 29 only appears in years divisible by 4 (excluding most century years such as 1900 and 2100), so a yearly series that begins on February 29, 2028 will land on February 28 in the three years that follow before the next leap year.

You can choose how each date is written, from ISO 8601 (2026-07-07, the safest format for spreadsheets and code) through US month-first and European day-first numeric styles to long, human-friendly forms that include the weekday. ISO is worth defaulting to because it sorts chronologically as plain text and is read the same way everywhere, avoiding the day and month mix-ups that MM/DD and DD/MM formats cause on import. The ISO 8601 standard is maintained by the International Organization for Standardization: https://www.iso.org/iso-8601-date-and-time-format.html

A few patterns competitors advertise, such as weekdays only, business days, or the second Tuesday of every month, are not one-click options here, but they are easy to derive. Generate the raw sequence, paste it into a spreadsheet, and use a weekday formula to filter out Saturdays and Sundays, or generate weekly (step of one week) starting on the exact weekday you want so every date already lands on, say, a Tuesday. For most scheduling jobs the simple start plus step plus stop model covers the need in seconds without any of that extra work.

When to use it

  • Listing every rent, subscription or loan instalment due date for the year from a single start date.
  • Building a content or social posting calendar that publishes every few days or once a week.
  • Generating recurring meeting, lesson or class dates to paste into a spreadsheet or calendar import.
  • Creating a medication, watering or equipment-maintenance schedule that repeats on a fixed interval.
  • Producing a quarterly (every 3 months) or annual review date list for planning and reminders.
  • Seeding a spreadsheet or database column with sequential dates for reporting or data collection.

How to use the Date Sequence Generator

  1. Pick the start date, which becomes the first date in your sequence.
  2. Choose the step unit (days, weeks, months or years) and the step size, for example every 2 weeks.
  3. Decide how to stop: enter a number of dates for count mode, or switch to an end date and the list stops on or before it.
  4. Choose an output format (ISO, US, European or long) and optionally number each line.
  5. Click Generate dates, then use Copy list to paste the result into a spreadsheet, calendar or document.

Formula & method

Each date = start stepped k times, for k = 0, 1, 2, ... For day or week steps, next = current + (size x unit days). For month or year steps, advance the month or year then clamp the day to min(start day, days in target month).
Date sequence: start date plus a fixed step2026-01-31start2026-02-28clamped2026-03-28plus 1 month2026-04-28plus 1 month+1 mo+1 mo+1 moNo Feb 31, so the day clamps to the month end (28)

Worked examples

A monthly rent schedule: start January 15, 2026, every 1 month, 6 dates.

  1. Date 1 = start = 2026-01-15
  2. Date 2 = add 1 month = 2026-02-15
  3. Date 3 = 2026-03-15
  4. Date 4 = 2026-04-15, Date 5 = 2026-05-15, Date 6 = 2026-06-15
  5. All days are valid (the 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.

  1. Date 1 = 2026-01-31
  2. Add 1 month to Jan 31: February has no 31st, so clamp to the last day = 2026-02-28 (2026 is not a leap year)
  3. Add 1 month to Feb 28: March 28 is valid = 2026-03-28
  4. 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.

  1. Date 1 = 2026-06-01
  2. Add 14 days = 2026-06-15
  3. Add 14 days = 2026-06-29
  4. 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

A weekly Tuesday stand-up: start Tuesday March 3, 2026, every 1 week, 4 dates.

  1. Date 1 = 2026-03-03 (a Tuesday)
  2. Add 7 days = 2026-03-10, still a Tuesday
  3. Add 7 days = 2026-03-17
  4. Add 7 days = 2026-03-24 (weekly steps always keep the same weekday)

Result: 2026-03-03, 2026-03-10, 2026-03-17, 2026-03-24

Step sizes for common recurring patterns

RecurrenceUnitStep size
DailyDays1
Weekdays onlyWeeks1 per weekday, or filter weekends after
WeeklyWeeks1
Fortnightly (every 2 weeks)Weeks2
Every 4 weeks (28 days)Weeks4
MonthlyMonths1
QuarterlyMonths3
Semi-annual (twice a year)Months6
YearlyYears1

Monthly series from January 31, 2026 (each step works from the previous date)

Date in seriesStepping noteResult
1ststart2026-01-31
2ndJan 31 + 1 month, clamped (no Feb 31)2026-02-28
3rdFeb 28 + 1 month, day 28 valid2026-03-28
4thMar 28 + 1 month, day 28 valid2026-04-28

How the same date looks in each output format (example: 5 July 2026, a Sunday)

FormatPatternExampleBest for
ISO 8601YYYY-MM-DD2026-07-05Spreadsheets, code, sorting
USMM/DD/YYYY07/05/2026US documents and forms
EuropeanDD/MM/YYYY05/07/2026UK and EU documents
LongWeekday, DD Month YYYYSunday, 05 July 2026Human-readable schedules

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 (a flat 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 European (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.
  • Assuming the list already excludes weekends or holidays. A day or week step lands on whatever day the arithmetic reaches, including Saturdays, Sundays and public holidays. If you need business days only, generate the sequence and filter it in a spreadsheet, or start weekly on the weekday you want.
  • Forgetting the start date counts as date number 1. In count mode a value of 12 returns the start date plus 11 stepped dates, not 12 dates after the start. If you want 12 dates beyond the start, ask for 13.

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 most century years excepted.
ISO date
The YYYY-MM-DD format defined by ISO 8601, which sorts chronologically as plain text and is unambiguous worldwide.
Fortnightly
A recurrence every two weeks (14 days), produced with unit weeks and step size 2.
Business day
A weekday (Monday to Friday) excluding public holidays, often used for billing and delivery schedules.
Count mode
A stop rule that returns a fixed number of dates, counting the start date as the first item.
End-date mode
A stop rule that keeps stepping while each date stays on or before a chosen end date.

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 a list of dates between two specific dates?

Yes. Set the stop mode to "On or before an end date", then enter your start date, your end date 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, with the start date counted as date 1. 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 (fortnightly) 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, including semi-annual (Months, size 6) and every 4 weeks.

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 European numeric formats can cause on import.

Can it generate only weekdays or business days?

Not with one click. A day or week step lands on whatever day the arithmetic reaches, weekends included. To get weekdays only, generate the sequence, paste it into a spreadsheet, and filter out rows where WEEKDAY returns Saturday or Sunday. To keep a fixed weekday, generate weekly starting on that weekday so every date already lands on it.

How do I make a countdown or dates going backwards?

The generator steps forward from the start date. To read a series in reverse, generate it normally and sort the list in descending order in your spreadsheet, or set the earliest date as the start and the latest as the end, then reverse the copied output.

Can I export the dates to CSV or a calendar file?

The tool outputs plain text, one date per line, which pastes directly into a spreadsheet column and saves as CSV from there. For a calendar (.ics) import, paste the ISO dates into your calendar app or a bulk-import template, since ISO dates are accepted by every major calendar system.

Does it handle leap years correctly?

Yes. February 29 only appears in leap years (years divisible by 4, excluding most century years such as 1900 and 2100). A yearly series starting on February 29 lands on February 28 in non-leap years, and day or week steps roll across February 29 automatically when the year has one.

Is there a limit on how many dates it can generate?

The tool generates up to 2000 dates at once to stay 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 you enter is sent anywhere.