{ }
中文

Cron Expression Parser

Paste a five-field cron expression and read it in plain English, with a preview of the next five runs.

Runs at every 15 minutes of every hour on every day of every month (every day-of-week).
Fields
Minute
*/15
Hour
*
Day of month
*
Month
*
Day of week
*
Next runs
#15/4/2026, 3:15:00 PM
#25/4/2026, 3:30:00 PM
#35/4/2026, 3:45:00 PM
#45/4/2026, 4:00:00 PM
#55/4/2026, 4:15:00 PM

Reading cron

A cron expression is a five-field schedule that tells a Unix scheduler when to run a job. The fields are minute, hour, day-of-month, month, and day-of-week, separated by spaces. Each field accepts a single value, a comma-separated list, a range (1-5), a step (*/15), or the wildcard *. The classic Vixie cron used on most Linux systems supports this exact syntax; many newer schedulers (systemd timers, GitHub Actions, Kubernetes CronJobs) speak the same dialect.

This parser breaks the expression into its five fields, validates each value, and translates the whole thing into plain English. It also previews the next five run times relative to your local clock so you can sanity-check that, for example, a build labelled "every 15 minutes" really fires four times an hour. The parser does not include the optional seconds field used by Quartz; expressions with six fields will be rejected.

Use cases

  • Sanity-check a cron line copied from a runbook before pasting it into crontab.
  • Confirm that an "every 15 minutes" expression fires 96 times per day, not 24.
  • Translate a complex cron such as 0 9-17/2 * * 1-5 into a sentence for documentation.
  • Preview when a backup job will next run after deployment.
  • Compare two cron expressions to see which one fires more frequently.

Best practices

  • Document each cron job with a one-line English description in a comment.
  • Pick minute offsets randomly across jobs to avoid thundering-herd traffic at minute 0.
  • Use UTC for cron schedules when servers span timezones.
  • Treat day-of-month and day-of-week as OR — if both are restricted, the job runs on either match.

Reference

ExpressionMeaning
* * * * *Every minute
*/5 * * * *Every 5 minutes
0 * * * *Every hour at minute 0
0 0 * * *Every day at midnight
0 9 * * 1-5Weekdays at 9 AM
0 0 1 * *First day of every month at midnight
30 2 * * 0Sundays at 02:30
0 0 1 1 *Once a year on January 1st

Frequently asked questions

Does this parser support the seconds field?
No. It supports the standard five-field Vixie cron syntax. Quartz-style six- or seven-field expressions are not accepted.
What timezone are the previewed runs in?
Your local browser timezone. Some schedulers (such as Kubernetes) interpret cron in UTC by default, which can cause confusion.
Why is day-of-week 0 and 7 both Sunday?
Historical Vixie cron quirk — 0 and 7 are both Sunday so that schedules using either convention work.
Can step values exceed the field range?
No. */60 in the minute field is invalid because it would exceed 59. The parser will report this as an error.