Cron Expression Parser - Explain Cron Schedules in English

Paste a 5-field cron expression and get a plain-English description, a field-by-field breakdown, and the next five run times in UTC.

Type or paste a standard crontab schedule and click Parse, or start from one of the presets. Everything is evaluated locally in your browser.

Cron Expression Parser - Explain Cron Schedules in English
Paste a 5-field cron expression and get a plain-English description, a field-by-field breakdown, and the next five run times in UTC.

Five space-separated fields: minute, hour, day of month, month, day of week.

About the cron expression parser

Cron is the scheduling language that has powered Unix task automation for half a century, and its terse five-field syntax is still how most CI pipelines, Kubernetes CronJobs, serverless triggers, and server maintenance scripts describe when they should run. The trouble is that the syntax is write-only for most people: a string of asterisks, numbers, ranges, and slashes is quick to type but hard to read back with confidence. Misreading one field can mean a backup that runs monthly instead of daily, or a report that fires at the wrong hour across a timezone boundary. This cron expression parser removes the guesswork. Paste any standard 5-field crontab schedule and it produces three things at once. First, a plain-English translation of the schedule generated by the widely used cronstrue library, so you can sanity-check intent in one glance. Second, a field-by-field breakdown table that maps each raw token to its position — minute, hour, day of month, month, and day of week — which is the fastest way to spot a value in the wrong column. Third, the upcoming five execution times computed by the cron-parser library and listed in UTC, so you can confirm the concrete moments the job will actually fire rather than reasoning abstractly about the pattern. The parser understands the full standard syntax: asterisks for any value, exact numbers, comma-separated lists, ranges with a hyphen, and step values with a slash. Day-of-week accepts 0 through 6 with Sunday as zero, matching classic crontab behaviour. If an expression is malformed — a value out of range, a missing field, an impossible combination — you get an immediate error instead of a silently wrong schedule, which is exactly the kind of mistake that is expensive to discover in production. Because upcoming occurrences are shown in UTC, the output is unambiguous regardless of where you or your servers sit. Remember that the machine executing your job interprets the schedule in its own configured timezone, so translate accordingly when your crontab host is not set to UTC. The whole tool runs in your browser: no expression you paste is transmitted anywhere, making it safe to check schedules that reveal internal operational details. Use it before committing a new crontab line, while reviewing a teammate's pipeline change, or when documenting existing jobs.

Cron expression examples

Common schedules and how to read them.

ExpressionMeaningNotes
*/5 * * * *Runs at five-minute intervals, all dayThe slash sets a step: starting from zero, fire when the minute is divisible by five.
0 0 * * *Runs once a day at midnightMinute zero of hour zero — the classic nightly-job schedule.
0 9 * * 1-5Runs at nine in the morning, Monday through FridayThe 1-5 range in the day-of-week field limits the job to weekdays.
30 2 1 * *Runs on the first day of each month at 02:30Fixed minute and hour, with day of month pinned to 1.
0 */6 * * 0Runs on Sundays, at six-hour steps through the dayCombining a step in the hour field with a day-of-week restriction.

How to use the cron expression parser

  1. Paste your cron expression into the input, or click a preset to load a common schedule.
  2. Click Parse to translate the schedule and compute its upcoming occurrences.
  3. Read the plain-English description to confirm the schedule matches your intent.
  4. Check the field breakdown table if any value looks like it landed in the wrong column.
  5. Verify the listed UTC run times against your expectations, remembering your server's timezone.

Cron expression parser FAQ

What do the five fields of a cron expression mean?
In order: minute (0–59), hour (0–23), day of month (1–31), month (1–12), and day of week (0–6, with Sunday as 0). An asterisk means any value; lists, ranges, and step values narrow it down.
What does the slash (step) syntax do?
A slash defines a step through the field's range. In the minute field, */15 fires at minutes 0, 15, 30, and 45; 10-50/20 fires at 10, 30, and 50. Steps are the idiomatic way to express regular intervals.
Which timezone are the run times shown in?
The upcoming occurrences are computed and displayed in UTC so the output is unambiguous. The system that actually runs your job uses its own configured timezone, so shift the times accordingly if that host is not on UTC.
Does this support 6-field (seconds) or Quartz expressions?
No — the tool targets the standard 5-field crontab format used by Unix cron, GitHub Actions, and Kubernetes. Six- and seven-field variants from Quartz or Spring add a seconds (and year) field and need a Quartz-specific parser.
Why is my expression rejected?
The usual causes are a value outside its field's range (such as a minute above 59), the wrong number of fields, or a typo in a range or list. Fix the flagged field and parse again; the breakdown table helps you find which position is wrong.
Is anything I paste sent to a server?
No. Translation and schedule computation both happen inside your browser with JavaScript libraries, so internal job schedules stay private to your machine.