UTILYARD
tools / developer

Cron Expression Parser

Translate cron expressions into plain English.

Every hour
FIELD BREAKDOWN
Minute0at 00–59
Hour*every hour0–23
Day of Month*every day of month1–31
Month*every month1–12
Day of Week*every day of week0–7 (0,7=Sun)

About Cron Expression Parser

Cron is a time-based job scheduler used in Unix-like operating systems. A cron expression is a compact string of five fields defining when a scheduled task should run: minute, hour, day of month, month, and day of week. This tool translates any valid cron expression into plain English and breaks down each field so you can understand the schedule at a glance. All processing happens in your browser.

FAQ

What is a cron expression?
A cron expression is a string of 5 space-separated fields that define a recurring schedule: minute, hour, day of month, month, and day of week.
What does * mean in cron?
An asterisk (*) means "every" — for example, * in the hour field means every hour.
What is @daily?
@daily is a shorthand for 0 0 * * * — midnight every day.
What does */5 mean?
The / operator means "every N" — */5 in the minute field runs every 5 minutes.

ABOUT THIS TOOL

Enter a cron expression - the five or six field string like 0 9 * * 1-5 that schedules jobs on Unix systems, CI pipelines, and job schedulers - and get a plain-English description of exactly when it fires, plus a list of upcoming run times. Cron syntax packs minute, hour, day-of-month, month, and day-of-week into a compact format that's genuinely hard to read at a glance, especially with ranges, lists, and step values like */15 mixed in. This tool is useful for double-checking a schedule before deploying it, understanding a crontab entry someone else wrote, or learning cron syntax without memorizing the field order from scratch.

HOW TO USE

  1. Paste your cron expression into the input field.
  2. Read the plain-English translation of the schedule.
  3. Check the list of next run times to confirm they match what you expect.
  4. Adjust individual fields and re-check the output if the schedule isn't quite right.
  5. Copy the verified expression into your crontab, CI config, or scheduler.

COMMON USE CASES

  • A developer double-checking a deployment pipeline's scheduled job before merging a CI config change.
  • Someone inheriting a server and trying to understand what an existing crontab entry actually does before touching it.
  • A developer setting up a recurring database backup and confirming it runs at 2 AM daily, not hourly.
  • Someone translating a cron expression from a tool like Kubernetes CronJobs into a schedule a non-technical teammate can understand.
  • A student learning cron syntax who wants immediate feedback on what each field combination produces.

TIPS & COMMON MISTAKES

  • Day-of-month and day-of-week are OR'd together, not AND'd, when both are restricted - a common source of confusion, since 0 0 1 * 1 means midnight on the 1st OR every Monday, not the 1st only when it's a Monday.
  • Some systems use a 6-field format with seconds, like Quartz or Spring schedulers, while standard Unix cron uses 5 fields - confirm which variant your target system expects.
  • Step values like */5 in the minute field mean every 5 minutes starting from 0, not 5 evenly spaced times, which matters if you're aligning multiple jobs to run near each other.
  • Cron runs in the system's local timezone unless configured otherwise, so a schedule that looks right can fire at an unexpected time if the server's timezone differs from yours.

MORE QUESTIONS

What's the difference between a 5-field and 6-field cron expression?
Standard Unix and Linux cron uses 5 fields for minute, hour, day-of-month, month, and day-of-week, while schedulers like Quartz or Spring add a seconds field at the front for 6 fields total - check which format your target scheduler expects before pasting one in unmodified.
How does cron handle a schedule where both day-of-month and day-of-week are restricted?
It treats them as an OR condition rather than AND, so the job runs whenever either restricted field's condition is true, which is a frequent source of scheduling bugs.
Can cron expressions handle things like the last day of the month or every other Tuesday?
Standard cron syntax can't express these directly since it has no concept of relative or last-day logic - some extended implementations support a special L character for last day, but that's a non-standard extension, not universal cron syntax.
What happens if a scheduled time doesn't exist, like during a daylight saving time transition?
Behavior depends on the specific cron implementation and system clock handling - some skip the job, others run it at the nearest available time - so schedules near DST transitions deserve extra caution and testing.

RELATED GUIDES

What is a Cron Job?
How cron works, how to read and write cron expressions, common scheduling patterns, and special shortcuts.
Read →
Cron Expression Parser — UtilYard