Cron Expression Parser

Parse cron expressions and preview upcoming run times.

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

Plain English

Every Monday through Friday at 9:00 AM

Next Run Times
1 Tue, Aug 25, 2026, 9:00:00 AM
2 Wed, Aug 26, 2026, 9:00:00 AM
3 Thu, Aug 27, 2026, 9:00:00 AM
4 Fri, Aug 28, 2026, 9:00:00 AM
5 Mon, Aug 31, 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 (seconds as the first field) is supported by some schedulers (Quartz, Spring, AWS CloudWatch Events). This tool accepts a 6-field expression and treats the first field as seconds, though next-run calculations remain minute-granular.

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. Some schedulers (Quartz, Spring, AWS CloudWatch) add a seconds field at the start, making 6 fields total. This tool accepts both formats.

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 August 22, 2026

This site is vibe coded. The tools here were built largely by AI, so treat what they tell you as a starting point rather than an answer — double-check anything that matters before you rely on it.

Crunchify.net — 98 free tools, no ads, no tracking.