Crunchify.net

Cron Expression Parser

Parse cron expressions and preview upcoming run times.

5 fields: minute hour day-of-month month day-of-week · 6 with seconds first · or a @shorthand like @daily

Plain English

Every Monday through Friday at 9:00 AM

Next Run Times
1 Thu, Oct 15, 2026, 9:00:00 AM
2 Fri, Oct 16, 2026, 9:00:00 AM
3 Mon, Oct 19, 2026, 9:00:00 AM
4 Tue, Oct 20, 2026, 9:00:00 AM
5 Wed, Oct 21, 2026, 9:00:00 AM
Common Cron Expressions

Click any expression to load it into the parser.

Shorthand

Label Expression Description
@yearly @yearly Once a year at midnight on January 1
@monthly @monthly Once a month at midnight on the 1st
@weekly @weekly Once a week at midnight on Sunday
@daily @daily Once a day at midnight
@hourly @hourly Once an hour at the start of the hour

Intervals

Label Expression Description
Every minute * * * * * Run every minute, all day
Every 5 minutes */5 * * * * Run every 5 minutes
Every 10 minutes */10 * * * * Run every 10 minutes
Every 15 minutes */15 * * * * Run every 15 minutes
Every 30 minutes */30 * * * * Run every 30 minutes
Every 2 hours 0 */2 * * * At the top of every 2nd hour
Every 6 hours 0 */6 * * * At 00:00, 06:00, 12:00, 18:00
Every 12 hours 0 */12 * * * At midnight and noon

Business

Label Expression Description
Weekdays at 9 AM 0 9 * * 1-5 Monday–Friday at 9:00 AM
Weekdays at 8 AM 0 8 * * 1-5 Monday–Friday at 8:00 AM
Weekdays at noon 0 12 * * 1-5 Monday–Friday at 12:00 PM
Weekdays at 6 PM 0 18 * * 1-5 Monday–Friday at 6:00 PM
Every hour on weekdays 0 9-17 * * 1-5 Every hour from 9 AM to 5 PM, Mon–Fri

Maintenance

Label Expression Description
Midnight daily 0 0 * * * Every day at midnight
2 AM daily 0 2 * * * Every day at 2:00 AM
Sunday at 3 AM 0 3 * * 0 Weekly maintenance window
1st of month at midnight 0 0 1 * * Monthly task on the 1st
Last day check (28th) 0 0 28 * * Monthly on the 28th (safe for all months)

Reporting

Label Expression Description
Daily report at 7 AM 0 7 * * * Morning report generation
Weekly report (Mon 8 AM) 0 8 * * 1 Weekly summary every Monday
Monthly report (1st 6 AM) 0 6 1 * * Monthly report on the 1st
Quarterly (Jan/Apr/Jul/Oct) 0 0 1 1,4,7,10 * First day of each quarter
Field Reference

Cron is a time-based job scheduler found in Unix-like operating systems. A cron expression is a string of five fields (minute, hour, day-of-month, month, day-of-week) that define a recurring schedule. Each field can be a single value, a comma-separated list, a range (1-5), or a step (*/15). The scheduler fires a job whenever the fields match the current wall-clock time — with one exception, below.

Day-of-month and day-of-week are ORed, not ANDed, whenever both are restricted. 0 0 13 * 5 does not mean "the 13th, but only on a Friday" — it means "the 13th or any Friday", around 64 runs a year rather than a couple. Every other pair of fields is ANDed, which is what makes this one easy to read wrongly. When either day field is * the question does not arise, and the other field simply applies.

Wildcards and steps make it easy to express common patterns: * matches every value in the field's range; */n matches every nth value starting from the minimum. For example, */5 in the minute field produces 0, 5, 10, … 55. A range with step like 0-30/10 yields 0, 10, 20, 30.

Timezone gotcha: cron runs in the server's local timezone unless the daemon is configured otherwise (e.g. via CRON_TZ or systemd's OnCalendar). This tool shows times in your browser's local timezone. When DST transitions occur, an hour may be skipped or repeated — check your platform's documentation for how it handles the ambiguity.

6-field cron puts a seconds field first, the layout Quartz and Spring use. This tool reads a 6-field expression that way, and both the plain-English reading and the run list honour the seconds: */10 * * * * * runs every 10 seconds. AWS EventBridge also has six fields but a different layout — minute first, a trailing year, and ? in one of the day fields — which this tool does not parse.

Sources

Link to this tool with values filled in

Everything after the # stays in your browser — it is never sent to a server — so a link like this opens the tool ready to go without the values travelling anywhere but the address bar:

https://crunchify.net/tools/cron-parser#expression=0%209%20*%20*%201-5

Join the settings with &, and percent-encode each value so that spaces, newlines and any #, &, = or % inside one do not break the link. Leave a setting out to accept its default. If a setting is not recognised, the page says so rather than quietly ignoring it.

  • expression (also cron, expr, schedule or q) — text, up to 120 characters, required. The cron expression, standard five-field form (minute hour day-of-month month day-of-week). Shorthand such as @daily is accepted.
  • runs (also count or next) — a whole number from 5 to 25, defaults to 5. How many upcoming run times to list.

What is a cron expression?

A cron expression is a string of 5 fields (minute, hour, day-of-month, month, day-of-week) that define a recurring schedule. Each field can be a number, a wildcard (*), a range (1-5), a list (1,3,5), or a step (*/15). The scheduler fires when the fields match the current time — with one exception, the two day fields.

Why does 0 0 13 * 5 run more often than Friday the 13th?

Because cron ORs day-of-month and day-of-week when both are restricted: the job runs on the 13th of every month AND on every Friday, not only when the two coincide. It is the one special case in the format — every other pair of fields is ANDed. If you want only Friday the 13th, cron cannot express it; test the date inside the job instead. When either day field is *, there is no union and the other field applies as normal.

What does */5 mean in a cron expression?

*/5 means "every 5 units." In the minute field, */5 fires at minutes 0, 5, 10, 15 ... 55. In the hour field, */3 fires at 00:00, 03:00, 06:00 ... 21:00.

What is the difference between 5-field and 6-field cron?

Standard Unix cron uses 5 fields: minute, hour, day-of-month, month, day-of-week. Quartz and Spring add a seconds field at the start, making 6 fields: */10 * * * * * runs every 10 seconds. This tool accepts both, and honours the seconds in the reading and the run times. AWS EventBridge is different again: minute first, a trailing year field, and ? in one of the day fields — a form this tool does not parse.

How do I run a cron job every 15 minutes?

*/15 * * * * — this fires at :00, :15, :30, and :45 of every hour, every day. To limit it to business hours: */15 9-17 * * 1-5 fires every 15 minutes between 9 AM and 5 PM, Monday through Friday.

Does cron use local time or UTC?

Cron runs in the system's local timezone by default. Many cloud schedulers (AWS EventBridge, GitHub Actions) use UTC. Set CRON_TZ or TZ environment variable to specify a timezone explicitly. DST transitions can cause jobs to skip or run twice at the transition hour.

Updated October 12, 2026