Read any cron expression at a glance
Cron is the classic Unix scheduler, and its five-field syntax is now everywhere: crontab files, Kubernetes CronJobs,
GitHub Actions schedule triggers, AWS EventBridge, Celery beat and countless job queues. The syntax is
compact but easy to misread – is 0 0 * * 0 Sunday or Monday? This tool translates any expression into plain
language, breaks down every field and lists the next executions so you can confirm a schedule before deploying it.
The five fields
┌───────────── minute (0–59)
│ ┌─────────── hour (0–23)
│ │ ┌───────── day of month (1–31)
│ │ │ ┌─────── month (1–12 or JAN–DEC)
│ │ │ │ ┌───── day of week (0–7 or SUN–SAT; 0 and 7 are Sunday)
│ │ │ │ │
* * * * *
Each field accepts * (any value), lists (1,15), ranges (9-17) and steps
(*/15 or 9-17/2). A sixth leading field for seconds is supported, as used by Spring and
node-cron, along with macros such as @daily, @weekly and @reboot.
Common pitfalls
- Day of month OR day of week. When both fields are restricted, cron runs when either
matches:
0 0 13 * 5runs on every 13th and on every Friday, not only on Friday the 13th. - Time zones. Many servers and cloud schedulers run in UTC. Switch the next runs to UTC to check what the server will actually do.
- Impossible dates.
0 0 30 2 *never runs, because February never has 30 days.
Practical examples
*/5 * * * *– every five minutes, for health checks or queue polling.0 3 * * *– daily at 03:00, a typical backup window.*/15 9-17 * * 1-5– every 15 minutes during business hours on weekdays.0 0 1 * *– at midnight on the first day of every month, for invoices or reports.
Everything is calculated in your browser; your expressions are only stored locally until you press Clear Data.