Cron Expression Parser

Type a five-field cron expression, such as */15 * * * * or 0 9 * * 1-5, to see what it means in plain English and when it will next run. Invalid fields are flagged with the reason, so typos are caught before they reach a crontab.

cron-expression-parser · runs locally
At 09:00, on Monday through Friday.
0Minute
9Hour
*Day of month
*Month
1-5Day of week
Next runs

How to read a cron expression

Paste or type an expression into the box. The parser checks each of the five fields, writes the schedule out in plain English, and lists the next eight times it would fire in your local time zone. The preset buttons load common schedules to start from. Shortcuts such as @hourly, @daily, @weekly, @monthly and @yearly are expanded to their five-field form.

Cron syntax quick reference

SymbolMeaningExampleReads as
*Every value* * * * *Every minute
,List0 8,12,18 * * *At 08:00, 12:00 and 18:00
-Range0 9 * * 1-5At 09:00, Monday to Friday
/Step*/10 * * * *Every 10 minutes
NamesMonths and days0 0 1 JAN,JUL *Midnight on 1 January and 1 July

Common cron schedules

ExpressionSchedule
*/5 * * * *Every 5 minutes
0 * * * *Every hour, on the hour
0 */6 * * *Every 6 hours (00:00, 06:00, 12:00, 18:00)
0 0 * * *Every day at midnight
30 2 * * 0Every Sunday at 02:30
0 9 * * 1-5Weekdays at 09:00
0 0 1 * *First day of every month at midnight
0 0 1 1 *Once a year, 1 January at midnight

For the full syntax, platform differences and the mistakes that cause silent failures, read cron syntax explained. To check a timestamp in a job's log output, use the Unix Timestamp Converter, and to fix file permissions on a script cron cannot execute, use the Chmod Calculator.

Frequently asked questions

What do the five fields in a cron expression mean?

From left to right: minute (0–59), hour (0–23), day of month (1–31), month (1–12 or JAN–DEC) and day of week (0–7 or SUN–SAT, where both 0 and 7 mean Sunday). An asterisk means every value. So 30 2 * * 1 runs at 02:30 every Monday.

What does */15 mean in cron?

A slash sets a step. */15 in the minute field means every 15 minutes starting from 0, so at :00, :15, :30 and :45. Steps work on ranges too: 0-30/10 means minutes 0, 10, 20 and 30. Note that */7 restarts each hour, firing at :56 and then :00, so the gap is not always seven minutes.

What time zone does cron use?

Classic cron uses the server's local time zone. Many hosted schedulers, including GitHub Actions and most cloud schedulers by default, use UTC. This parser shows next runs in your browser's time zone, so if your server runs on UTC, convert before relying on the times. Daylight saving changes can also skip or repeat jobs scheduled between 01:00 and 03:00.

Why does my job run on more days than I expected?

When both the day-of-month and the day-of-week fields are restricted, standard cron runs the job when either one matches. 0 0 13 * 5 runs on every 13th and on every Friday, not only on Friday the 13th. The parser warns you when an expression hits this rule.

Does this support seconds or Quartz cron syntax?

No. This tool parses the standard five-field syntax used by crontab, Kubernetes CronJobs, GitHub Actions and most hosting schedulers. Quartz and Spring use six or seven fields with a leading seconds field and extra characters such as ? and L; the parser tells you when it sees six fields.