1618.dev

small tools, one committed a day

Cron expression explainer

Paste a cron (crontab) schedule and get it back in plain English, with a field-by-field breakdown and the next few times it will run. Supports lists, ranges, steps, month/weekday names, and @daily-style macros. Everything runs in your browser — nothing is uploaded.

minute  hour  day-of-month  month  day-of-week

How cron expressions work

A cron schedule is five fields separated by spaces: minute (0–59), hour (0–23), day of month (1–31), month (1–12 or JANDEC), and day of week (0–6 or SUNSAT, where both 0 and 7 mean Sunday). A job runs whenever the current time matches all of them.

Each field accepts * (every value), a single number, a list (1,15,30), a range (9-17), and a step (*/15 = every 15th, or 9-17/2 = every other value across a range). Macros like @hourly, @daily, @weekly, @monthly and @yearly are shorthands for common schedules.

One classic gotcha: when both the day-of-month and day-of-week fields are restricted (neither is *), the job runs when either matches — not both. So 0 0 1 * 1 fires on the 1st of every month and on every Monday. This tool follows that Vixie-cron rule.