Vaultools
Menu
network requests sent: 0

Cron Expression Explainer

Paste a standard five-field cron expression to see what it means in plain English, how each field is read, and exactly when it will run next. Everything is calculated in your browser. Crontabs often reveal job names, paths and schedules, so nothing is uploaded.

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

Try an example

Ad · placeholder

Your ad could be here — privacy-respecting, no tracking.

Go Pro to remove this →

What a cron expression is

A cron expression is a compact schedule: five fields separated by spaces that say which minutes, hours, days and months a job should run. The cron daemon checks the schedule every minute and starts any job whose fields all match the current time.

Position Field Allowed values
1 Minute 0–59
2 Hour 0–23
3 Day of month 1–31
4 Month 1–12 or JAN–DEC
5 Day of week 0–7 or SUN–SAT (0 and 7 are both Sunday)

Special characters

Symbol Meaning Example
* Every value in the field * * * * * runs every minute
, A list of values 0,30 * * * * at minute 0 and 30
- An inclusive range 0 9-17 * * * every hour from 9 to 17
/ A step through a range */15 * * * * every 15 minutes
JAN, MON… Names for months and weekdays 0 0 * JAN-MAR MON Mondays in Q1
@daily… Shortcuts: @yearly, @monthly, @weekly, @daily, @hourly @daily same as 0 0 * * *

Common schedules

Expression Runs
* * * * * Every minute
0 * * * * Every hour, on the hour
0 0 * * * Every day at midnight
30 2 * * 0 Sundays at 02:30
0 9 * * 1-5 Weekdays at 09:00
0 0 1 * * The first of every month
0 0 1 1 * Once a year, at midnight on 1 January
*/10 * * * * Every 10 minutes

Gotchas that cause missed and surprise runs

Cron dialects: why some expressions won't paste in

This tool explains standard five-field cron, the format used by crontab, Kubernetes CronJobs and GitHub Actions schedules (which run in UTC). Other systems use variations that look similar but mean different things:

Pasting one of those here gives an error that names the difference, rather than a confident but wrong explanation.

FAQ

How do I run a job every 90 minutes?

One expression can't express it, because cron steps restart each hour or day. Use two lines: 0 0-23/3 * * * (at :00 every third hour) and 30 1-23/3 * * * (at :30 in the hours between).

How do I run a job on the last day of the month?

Standard cron has no "last day" symbol. A common workaround is to run on days 28–31 and let the command check whether tomorrow is the 1st, for example [ "$(date -d tomorrow +\%d)" = 01 ] && run-job with GNU date.

Why did my job not run when this tool says it should?

Check the machine's time zone first, then that the cron daemon is running, then that the command works with cron's minimal environment (a short PATH, no shell profile). Cron reports failures by mail or in the system log, not on screen.

Can cron run every few seconds?

No. The smallest unit is one minute. For shorter intervals, run a long-lived process, or a job that loops with a sleep, or use a scheduler that supports seconds.

Related glossary terms