What is a cron expression?
A cron expression is a compact string that tells a scheduler when to run a job. It is used by
the Unix cron daemon, Kubernetes CronJobs, GitHub Actions schedules and many cloud
services. The standard form has five fields: minute, hour, day-of-month, month and day-of-week.
This tool turns that terse notation into a sentence and shows exactly when the job will fire
next, so you can check a schedule before it reaches production.
How to use this generator
Paste an expression into the main box, pick a preset, or edit the five fields below it. The
explanation and run times update as you type, and the fields and the expression stay in sync.
Use * for "every", , for lists (1,15), - for
ranges (9-17) and / for steps (*/10). Month and weekday
names such as JAN or MON are accepted. Switch between local time and
UTC to see how the schedule lines up with your server.
Worked examples
-
0 2 * * *runs every day at 02:00, a typical slot for backups when traffic is low. -
*/10 9-17 * * 1-5runs every 10 minutes between 09:00 and 17:59, Monday to Friday. Handy for business-hours health checks. -
0 0 1,15 * *runs at midnight on the 1st and 15th of each month, a common payroll or billing rhythm.
Common mistakes
-
Forgetting the time zone. Most servers and containers run in UTC, so
0 9 * * *fires at 09:00 UTC, not 09:00 where you sit. - Mixing day-of-month and day-of-week. If both are set, either match triggers the job. Restrict only one of them unless you want that behaviour.
-
Using
*/Nwith values that do not divide evenly.*/45 * * * *fires at minute 0 and 45 of every hour, which is a 45-minute gap and then a 15-minute gap, not "every 45 minutes". - Pasting a 6-field Quartz expression. A leading seconds field shifts every other field one place to the left.
Want the full picture? Read How Cron Syntax Works.
Frequently asked questions
What does */5 * * * * mean?
It runs every 5 minutes, all day, every day. The */5 in the minute field means "every 5th minute starting from 0", so the job fires at minutes 0, 5, 10 and so on up to 55.
Does this tool support 6-field or Quartz cron expressions?
No. It supports the standard 5-field format used by Linux crontab, Kubernetes CronJobs, GitHub Actions and most schedulers. Quartz and Spring add a seconds field and characters such as ?, L and W, which are rejected with a clear message.
Which time zone are the next run times shown in?
You choose: your browser local time or UTC. The real time zone of a job depends on where it runs, and servers, containers and CI systems often default to UTC, so check that before relying on the preview.
Why does my job run on days I did not expect?
When both day-of-month and day-of-week are restricted, classic cron runs the job if either one matches. 0 0 13 * 5 fires on every 13th and on every Friday, not only on Friday the 13th.
Is my cron expression sent to a server?
No. Parsing, explanation and run-time calculation all happen in your browser with JavaScript. Nothing is uploaded or stored.