Skip to main content

Cron Expression Generator

Build a valid 5-field cron expression by pasting one directly, or switch to simple schedule presets — every N minutes, daily, weekly, or monthly — without needing to know cron syntax. A plain-English description shows exactly what the expression runs.

Input

Enter a complete 5-field cron expression: minute hour day-of-month month day-of-week.

Output

Was this helpful?

Guides

A cron expression is the five-field schedule string that cron, GitHub Actions, Kubernetes CronJobs, and countless task schedulers use to decide when a job runs. The syntax is compact and easy to get backwards — this tool builds a valid expression for you from plain-English choices, so you don't have to remember field order or symbol meaning.

The five fields

A standard cron expression always has five space-separated fields, in this order:

minute   hour   day-of-month   month   day-of-week
0-59     0-23   1-31           1-12    0-6 (0 = Sunday)

For example, 30 9 * * * means "at minute 30 of hour 9, every day of every month, on any weekday" — in other words, every day at 09:30.

The operators

  • * — any value ("every"). * * * * * runs every single minute.
  • , — a list. 1,15,30 * * * * runs at minutes 1, 15, and 30.
  • - — a range. 1-5 * * * * runs at every minute from 1 through 5.
  • / — a step. */15 * * * * runs every 15 minutes (0, 15, 30, 45).

These operators can combine within a single field (e.g. 1-5,15-20), and cron day-of-week uses 0 for Sunday through 6 for Saturday — the same convention as JavaScript's Date.getDay().

How to use it

Pick a Schedule Type:

  • Every N Minutes — set an interval (1–59) and the tool builds a */N minute field, e.g. every 15 minutes.
  • Daily — pick an hour and minute; the job runs at that time every day.
  • Weekly — pick a day of the week plus an hour and minute.
  • Monthly — pick a day of the month (1–31) plus an hour and minute.
  • Custom (advanced) — the default. Enter a complete 5-field expression directly into Full Cron Expression, using any combination of *, ,, -, and /. Use this for anything the presets above don't cover, like "every 2 hours on weekdays" (0 */2 * * 1-5).

The Cron Expression field updates automatically and includes a copy button. A What This Means line underneath translates the expression back into plain English so you can double-check it matches what you intended before pasting it into a crontab, CI config, or job scheduler.

FAQ

Does this support seconds (a 6-field expression)? No — this tool generates the standard, widely-supported 5-field POSIX cron format. Some schedulers (like Quartz) add a leading seconds field; if yours does, prepend 0 (or your desired second) manually.

What if I leave the Full Cron Expression blank, or paste something invalid? In Custom (advanced) mode, the field is used as-is only when it contains exactly five whitespace-separated values; anything else (blank, or too few/too many fields) falls back to * * * * * ("every minute, every day"), so the generated expression is guaranteed to be syntactically valid even with incomplete input.

Can I schedule something for multiple days or a range of months? Yes, in Custom (advanced) mode — use a list (1,3,5) or range (1-5) in the relevant field, same as you would in a real crontab.

What timezone does the schedule run in? Cron expressions themselves are timezone-agnostic — the actual timezone depends on the system or service running the job (server local time, UTC, or a timezone you configure separately in tools like GitHub Actions or Kubernetes).

Privacy

Everything runs locally in your browser — the schedule you build is never sent to a server or stored anywhere.

croncron expressioncrontabcron jobschedulerschedule generator

More ways to use this tool

REST API

curl -X POST https://api.iotools.cloud/v1/tool/cron-expression-generator \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "scheduleType": "custom",
    "rawCronExpression": "0 */2 * * 1-5"
  }'

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

Ask an AI agent

Use the IOTools `cron-expression-generator` tool (Cron Expression 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/cron-expression-generator/"
  width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
  title="Cron Expression 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.