Cron Expression Generator & Explainer

Build a cron expression or paste one to see it explained in plain English with its next run times.

Helpful?
Cron Expression
Enter a cron expression (5 or 6 fields)
Human Readable
-
Frequency
Daily Schedules
Business Schedules
Weekly Schedules
Monthly Schedules
Field Breakdown
Field Value Meaning
Enter an expression...
Next 10 Run Times
Enter an expression to see scheduled times...
Cron Syntax Reference
Field Values Special Characters
Minute 0-59 * , - /
Hour 0-23 * , - /
Day of Month 1-31 * , - / L W
Month 1-12 or JAN-DEC * , - /
Day of Week 0-6 or SUN-SAT * , - / L #
Special characters: * = any value, , = list separator, - = range, / = step values, L = last, W = weekday, # = nth occurrence

A cron expression is five fields separated by spaces — minute hour day-of-month month day-of-week — that tell a scheduler when to run a job. Use the builder above to compose one, or paste an existing expression to have it explained. * means every value, */5 means every fifth, 1-5 is a range and 1,15 is a list.

Common cron expressions

ExpressionMeaning
*/5 * * * *Every 5 minutes
0 * * * *Every hour, on the hour
0 9 * * 1-59:00 every weekday (Monday–Friday)
30 2 * * *2:30 every day
0 0 * * 0Midnight every Sunday
0 0 1 * *Midnight on the first of every month
0 */6 * * *Every 6 hours (00:00, 06:00, 12:00, 18:00)
15 14 1 * *14:15 on the first of the month

Things that trip people up

  • Time zone — cron runs in the server's local time unless configured otherwise; use the timezone converter to check.
  • Day-of-month and day-of-week — when both are set (not *), classic cron runs when either matches.
  • Seconds — standard cron has no seconds field; Quartz and Spring use a 6-field variant with seconds first.

The full field-by-field guide, with special strings such as @daily, is in cron expressions explained.

Frequently Asked Questions

A short string of five space-separated fields (minute, hour, day of month, month, day of week) that defines a repeating schedule for cron and cron-compatible schedulers.

Run every 5 minutes: */5 in the minute field matches 0, 5, 10 … 55, and the other four fields are 'every'.

Use 0 * * * * — minute 0 of every hour. For every 2 hours use 0 */2 * * *.

minute (0–59), hour (0–23), day of month (1–31), month (1–12), day of week (0–6, Sunday = 0; 7 also means Sunday on most systems). Each field accepts *, ranges (1-5), lists (1,15) and steps (*/10).

Standard Unix cron does not; the smallest unit is a minute. Quartz, Spring and some cloud schedulers add a leading seconds field, making six fields.

Paste it into the explainer above. It translates each field into plain English so you can confirm the schedule before deploying it.
Share this tool