Skip to main content

Date Range Generator

Generate a list of dates (or timestamps, at hour/minute granularity) between a start and end date, stepped by a configurable interval. Useful for building test data, populating a calendar, or scripting a batch job. Runs entirely in your browser.

Input

Output

Date Range
Was this helpful?

Guides

What does this tool do?

Generates every date (or timestamp) between a start and end date, stepped by an interval you choose — every day, every 3 days, every 6 hours, every 15 minutes, and so on. It's built for the kind of list a script, spreadsheet, or test fixture needs: a sequence of dates to loop over, seed a calendar, or populate sample data.

Settings

  • Start Date / End Date — the inclusive range to generate within.
  • Step — how many units to advance between each item (e.g. 2 with "Days" generates every other day).
  • UnitDays produces plain dates (2026-08-01); Hours and Minutes step through every moment of each day in the range and produce timestamps (2026-08-01 06:00) so the output stays unambiguous without a separate time field.
  • List newest first — reverses the output to descending order.

How to use it

  1. Pick a Start Date and End Date.
  2. Set the Step and Unit — leave both at their defaults (1, "Days") to list every single day in the range.
  3. Read the Date Range output, one value per line, with a running Total count.
  4. Copy or download the list for use in a script, spreadsheet import, or test data file.

A hard limit of 5,000 generated items keeps the browser responsive — narrow the range, increase the step, or switch to a larger unit (days instead of hours) if you hit it.

FAQ

Why do Hours/Minutes show a full timestamp instead of just a time? Stepping in hours or minutes spans multiple days once the range is more than a day long, so each line needs its date to stay unambiguous — the format is YYYY-MM-DD HH:mm, in UTC.

Can I generate only weekdays, skipping weekends? Not currently — this tool generates a fixed-interval sequence. To count only business days between two dates, use the Date Difference Calculator instead.

What if I need to add or subtract a duration from a single date, rather than list a range? Use the Date Calculator, which adds/subtracts years, months and days from one starting date.

Privacy

All generation happens entirely in your browser using JavaScript — nothing is uploaded to iotools.cloud's servers.

datedate rangelist of datesdate listcalendardate generator

More ways to use this tool

REST API

curl -X POST https://api.iotools.cloud/v1/tool/date-range-generator \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "startDate": "2026-08-01",
    "endDate": "2026-08-05",
    "step": "1",
    "unit": "days",
    "reverse": ""
  }'

Swap in your own key from your account. The tool's fields are the body — no wrapper.

Ask an AI agent

Use the IOTools `date-range-generator` tool (Date Range Generator) on this input:

YOUR_INPUT_HERE

Paste this at any agent connected to the IOTools MCP server, then add your input.

Embed widget

<iframe
  src="https://iotools.cloud/embed/date-range-generator/"
  width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
  title="Date Range Generator — iotools.cloud"
  sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
  allow="clipboard-write"
  style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>

Drop this into your own page — free, no key required, just a link back.

Cost per callFrom 5 credits

Also available with

Love the tools? Lose the ads.

One payment clears every ad from your account, for good. No subscription, no tracking.