PureDevTools

Cron Expression Generator

Build, validate, and understand cron schedules — preview next execution times instantly, nothing sent to any server

All processing happens in your browser. No data is sent to any server.

Common Schedules

0 * * * *
MinuteHourDayMonthWeekday

Schedule Description

Every hour

Next 5 Execution Times

Computing…

Field reference ▸
FieldRequiredValuesSpecial
MinuteYes0–59* */5 0-30
HourYes0–23* */2 9-17
Day (Month)Yes1–31* 1 15
MonthYes1–12* JAN-DEC
Day (Week)Yes0–6* SUN-SAT 1-5
* — any value*/N — every N unitsN-M — rangeN,M — listN-M/S — range with step
@yearly → 0 0 1 1 *@monthly → 0 0 1 * *@weekly → 0 0 * * 0@daily → 0 0 * * *@hourly → 0 * * * *

What Is a Cron Expression?

A cron expression is a compact string that defines a recurring schedule for automated tasks. The format comes from the Unix cron daemon, which reads these expressions to determine when to run jobs. Every CI/CD pipeline, cloud scheduler (AWS EventBridge, Google Cloud Scheduler, Kubernetes CronJob), and task runner (crontab, Sidekiq, Celery) accepts this 5-field syntax.

A standard cron expression has 5 space-separated fields:

┌─────────── minute (0–59)
│ ┌───────── hour (0–23)
│ │ ┌─────── day of month (1–31)
│ │ │ ┌───── month (1–12 or JAN–DEC)
│ │ │ │ ┌─── day of week (0–6 or SUN–SAT, 0=Sunday)
│ │ │ │ │
* * * * *

How to Use This Cron Expression Generator

  1. Enter values in each of the 5 fields using text mode, or switch to Visual mode to use quick-select chips and day/month toggles.
  2. Load a preset from the Common Schedules section to start from a well-known schedule.
  3. Read the description — the tool auto-generates a human-readable summary of your schedule (e.g., “At 9:00 AM, on weekdays”).
  4. Check next execution times — see the next 5 dates and times your schedule would fire.
  5. Copy the expression with the Copy button to paste into your crontab, Kubernetes manifest, or CI/CD config.

Cron Field Syntax

Each field supports four types of values:

SyntaxMeaningExample
*Any value (wildcard)* * * * * — every minute
NSpecific value30 9 * * * — at 9:30 AM daily
N-MRange (inclusive)1-5 in the weekday field — Monday through Friday
N,M,PList0,15,30,45 in minute — every quarter hour
*/NStep from minimum*/5 in minute — every 5 minutes
N-M/SRange with step0-23/2 in hour — every 2 hours

Month and weekday fields also accept named values (case-insensitive): JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC and SUN, MON, TUE, WED, THU, FRI, SAT.

Special @ Strings

Many cron implementations support shorthand @ strings that expand to common expressions:

StringExpands toMeaning
@yearly / @annually0 0 1 1 *Once a year on January 1st at midnight
@monthly0 0 1 * *Once a month on the 1st at midnight
@weekly0 0 * * 0Once a week on Sunday at midnight
@daily / @midnight0 0 * * *Once a day at midnight
@hourly0 * * * *Once an hour at minute 0

Common Cron Patterns

ExpressionDescription
* * * * *Every minute
*/5 * * * *Every 5 minutes
0 * * * *Every hour
0 0 * * *Every day at midnight
0 12 * * *Every day at noon
0 9 * * 1-5Weekdays at 9:00 AM
0 9 * * MONEvery Monday at 9:00 AM
0 0 1 * *First of every month at midnight
0 0 1 1 *Once a year on January 1st
0 2 * * 0Every Sunday at 2:00 AM (good for backups)
*/15 8-17 * * 1-5Every 15 minutes during business hours on weekdays
0 0,12 * * *Twice a day at midnight and noon

Platform-Specific Notes

AWS EventBridge / CloudWatch Events uses a 6-field format with an optional year field and uses ? instead of * for the day-of-month or day-of-week field when the other is specified. However, the standard 5-field format used here works for most other platforms.

Kubernetes CronJobs accept the standard 5-field cron syntax and also support the @ shorthand strings.

GitHub Actions uses the standard 5-field cron syntax in its schedule trigger: on: schedule: - cron: '0 9 * * 1-5'.

Linux crontab is the original 5-field format, where you can also add a username field (6 fields total) in system crontab files (/etc/crontab, /etc/cron.d/).

Frequently Asked Questions

What is the minimum cron interval? The standard cron format supports a minimum of 1 minute between executions (the finest granularity is the minute field). For sub-minute scheduling, you would need application-level solutions or tools like Quartz Scheduler (Java) which add a seconds field.

How do I run a job at 2:30 PM? Use 30 14 * * *. In 24-hour format, 2:30 PM is hour 14, minute 30.

What does day-of-week 0 vs 7 mean? Both 0 and 7 represent Sunday. The day-of-week field uses 0–6 or 0–7 where both 0 and 7 are Sunday. This tool normalizes 7 to 0 internally.

Why doesn’t my expression match on February 31st? There is no February 31st (or February 30th, 29th in non-leap years). If your cron specifies an invalid day of month for a given month (e.g., day 31 in April), no execution occurs that month for that day.

Is my data sent to a server? No. All parsing, validation, and next-execution computation happens entirely in your browser using JavaScript. Nothing is transmitted to any server.

Related Tools