loot.tools

Cron Expression Parser

Paste a cron expression and get a plain-English sentence describing when it runs, along with the next few run times in your local time zone. It handles the standard 5 fields - minute, hour, day of month, month, day of week - plus ranges, lists, steps, named months and weekdays, and @macros like @daily and @hourly. Useful when you're staring at a crontab line trying to remember what */15 9-17 * * 1-5 actually means. It all runs in your browser.

Type a cron expression and get a plain-English read of when it runs, plus the next few run times. Standard 5-field syntax (minute, hour, day of month, month, day of week) and @macros like @daily are supported.

At minutes 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, and 55 past every hour.

Next 5 runs (your local time)
  • Sun, Jun 28, 2026, 02:50 AM
  • Sun, Jun 28, 2026, 02:55 AM
  • Sun, Jun 28, 2026, 03:00 AM
  • Sun, Jun 28, 2026, 03:05 AM
  • Sun, Jun 28, 2026, 03:10 AM
Field order
*minute0-59
*hour0-23
*day (month)1-31
*month1-12
*day (week)0-6

Use * for any value, , for a list (1,15,30), - for a range (1-5), and / for steps (*/15).

What a cron expression is

Cron is the scheduler built into Unix-like systems. A cron expression packs a recurring schedule into five space-separated fields: minute, hour, day of month, month, and day of week. So `0 9 * * 1-5` means 9am, every weekday. The syntax is terse and easy to misread, which is exactly why a plain-English readout helps before you trust a job to run unattended.

How to read each field

Each field accepts a few building blocks. A `*` means every value. A list like `1,15,30` matches several values. A range like `1-5` covers a span. A step like `*/15` means every 15th value, and you can combine them (`0-30/10`). The month and day-of-week fields also take names - `JAN` or `MON`. Note that when both day-of-month and day-of-week are set, cron fires when either one matches, not both.

When this helps

  • Double-checking a crontab line before you commit it
  • Working out the next time a scheduled job will fire
  • Decoding a teammate's cron expression in a CI config or Kubernetes CronJob
  • Learning the syntax by trying examples and watching the description change
  • Confirming a @daily or @hourly macro expands to the schedule you expect