Skip to content

Cron Expression Builder

Compose a standard 5-field cron expression from friendly controls and read a plain-English description of when it runs.

Runs locally in your browser

*/15 * * * *

Runs at minute */15 of every hour.

Discuss a result

Write a short summary and review it before posting. Your tool inputs are never copied automatically.

What is the Cron Expression Builder?

This builder helps you construct a standard 5-field (minute, hour, day-of-month, month, day-of-week) cron expression and explains it in plain language.

How to use it

  1. 1Set each field, or type an expression directly.
  2. 2Read the human-readable description.
  3. 3Copy the resulting expression.

How it works

Each of the five fields accepts a value, list, range, step or wildcard. The tool validates ranges and generates a readable summary from the parsed fields.

Limitations & notes

  • Covers the common 5-field format; second-level and named extensions vary by scheduler.
  • Does not compute exact next-run times across DST transitions.

Frequently asked questions

Why does my cron job run at the wrong time?

Cron uses the time zone of the machine or service running it, not yours. GitHub Actions schedules and many cloud schedulers run in UTC, so 0 9 * * * fires at 09:00 UTC, which is 04:00 or 05:00 in New York depending on daylight saving. Check your scheduler's time zone setting, or convert your local time to UTC before writing the hour field.

What happens when I set both day of month and day of week?

In standard Unix cron the two fields are combined with OR, not AND. The expression 0 0 13 * 5 runs at midnight on the 13th of every month and also on every Friday, not only on Friday the 13th. To target a combination, schedule the broader one and add a date check in the script itself, for example by testing the day of the month.

What does */15 mean in a cron field?

A slash sets a step. */15 in the minute field means every 15 minutes starting at 0, so 0, 15, 30 and 45 past each hour. Steps also work on ranges: 1-30/10 means minutes 1, 11 and 21. Note that */7 does not run exactly every 7 minutes around the clock; it runs at 0, 7, ... 56 and then again at 0, a 4-minute gap.

Can I use names like MON or JAN, or shortcuts like @daily?

Not in this builder. It validates numbers only: minutes 0-59, hours 0-23, days 1-31, months 1-12 and weekdays 0-6 with 0 as Sunday. Named values, 7 for Sunday, and shortcuts such as @daily or @reboot are rejected even though many cron implementations accept them. The numeric form, for example 0 0 * * 1-5 for weekdays, works in essentially every scheduler.

Is a 5-field cron expression the same in Quartz, AWS and Kubernetes?

Not exactly. Kubernetes CronJobs and GitHub Actions use the standard 5 fields this tool builds. Quartz (common in Java) adds a seconds field at the start and often a year, and uses ? in one of the day fields. AWS EventBridge uses 6 fields including year and also requires ?. Adapt the expression to your scheduler's format before deploying it.

No directly related discussion yet.

Start a focused thread and share the question this tool helped you explore.

Ask the community about Cron Expression Builder

You might also like