Quick presets
Schedule fields
Runs for every minute value ( * ).
Standard Unix cron uses 5 fields. Toggle + Seconds for 6-field Quartz-style schedules (seconds first). Pick a tab above to edit that field — the expression up top updates live.
Next 5 runs (your local time)
What is a cron expression?
A cron expression is a five-field text pattern that tells a cron scheduler when to run a job. The fields are minute, hour, day of month, month and day of week, separated by spaces and read left to right. For example, 0 8 * * 1-5 runs at 08:00 every Monday through Friday.
The cron daemon wakes once per minute and runs every job whose expression matches the current time, which puts a floor of one minute on standard cron's resolution. Quartz-style schedulers — used by Spring, and by many Java applications — prepend a sixth seconds field, so 0/30 * * * * ? fires every 30 seconds. Toggle + Seconds above to compose those.
| Position | Field | Allowed values | Example |
|---|---|---|---|
| 1 | Minute | 0-59 | */15 — every 15 minutes |
| 2 | Hour | 0-23 | 9-17 — 09:00 to 17:00 |
| 3 | Day of month | 1-31 | 1,15 — the 1st and 15th |
| 4 | Month | 1-12 or JAN-DEC | 1,4,7,10 — quarterly |
| 5 | Day of week | 0-6 or SUN-SAT | 1-5 — weekdays |
Four special characters do most of the work: * matches every value, , separates a list, - defines a range, and / sets a step. Sunday is 0 in the day-of-week field, though most implementations also accept 7.
The rule that catches people out: when both day of month and day of week are restricted, standard cron applies OR logic. 0 0 13 * 5 runs on the 13th of every month and on every Friday — not only on Friday the 13th. Checking the computed run times above is the fastest way to catch this class of mistake before it reaches production.
Cron jobs also run with a minimal environment: your shell's PATH, aliases and exported variables are not loaded, which is the usual reason a command that works in a terminal fails under cron. Use absolute paths, and redirect output to a log file with >> /var/log/myjob.log 2>&1. The cron FAQ covers time zones, DST, overlapping runs and other edge cases in more depth.
Go deeper
Already have an expression? Paste it into the Cron Explainer for a plain-English breakdown, or browse the cron FAQ for short answers on cron jobs and crontab.
The guides cover everything that comes after the expression:
- Schedule reference — a page per schedule, with live next-run times.
- 60 cron expression examples — ready-to-copy schedules, each with its gotchas.
- Crontab guide — where the line goes, and the escaping rules that break it.
- Time zones & DST — which clock cron actually reads.
- Why your cron job isn't running — a nine-step debugging order.
- Quartz vs Unix cron — six fields,
?,Land#. - Cron by platform — Kubernetes, GitHub Actions, AWS, Spring, Jenkins.
- Production best practices — locking, idempotency, monitoring.