Cron Expression Generator
Developer ToolsBuild cron expressions visually and get a plain-English description of the schedule. Free, browser-based, no sign-up — instant cron job syntax.
Reviewed by the thecalcu.com team · Last updated July 13, 2026
What is a Cron?
A Cron Expression Generator builds the five-field schedule string used by Unix cron, cloud schedulers, and most job scheduling systems, and translates it into plain English so you can verify the schedule is exactly what you intended before deploying.
Cron syntax has been the standard for scheduled tasks on Unix-like systems since 1975. The same five-field format is used today by Linux crontab, macOS launchd, GitHub Actions scheduled workflows, AWS EventBridge, Google Cloud Scheduler, Kubernetes CronJobs, and virtually every modern job scheduling system. Understanding how to write and read cron expressions is an essential skill for any developer or systems administrator working on the backend.
The five fields are read left to right: minute (0–59), hour (0–23), day of month (1–31), month (1–12), day of week (0–7, where 0 and 7 both mean Sunday). Each field accepts a specific value, a wildcard * for 'every', a range 1-5, a step */15, or a comma-separated list 1,15,20.
The trickiest part of cron is not writing the expression, it is verifying that the expression matches your intent. An expression like 0 9 * * 1 looks correct ('9 AM on Monday'), but if you meant '9 AM every weekday', you need 0 9 * * 1-5. The plain-English output from this generator makes that kind of mistake immediately visible.
Use the UUID Generator to generate correlation IDs for tracking individual cron job runs in logs. For developer testing workflows, the Fake Email Generator produces test addresses for scheduled email pipelines and notification systems.
Why Use a Cron Expression Generator?
Cron syntax is compact but not intuitive. A developer who writes */15 8-18 * * 1-5 knows it means 'every 15 minutes during working hours on weekdays', but reviewing that expression in a codebase six months later requires parsing each field from scratch. A plain-English description, 'every 15 minutes, hour 8 through 18, Monday through Friday', is immediately understandable.
The generator also catches two common mistakes: writing 0 9 * * 1,2,3,4,5 when 0 9 * * 1-5 is simpler, and accidentally leaving both day-of-month and day-of-week as non-asterisk values (which creates an OR condition in most cron implementations, not AND).
For developers working across time zones or deploying to UTC servers, building the expression field by field in a visual tool makes it easier to reason about the schedule before committing to a deployment.
Who Should Use This Generator?
Backend developers who need to schedule database backups, report generation, cache warming, or API polling jobs. Cron expressions appear in every backend tech stack, shell scripts, Node.js (node-cron), Python (APScheduler), Ruby (whenever gem), and more.
DevOps and infrastructure engineers configuring Kubernetes CronJobs, AWS EventBridge rules, GitHub Actions scheduled workflows, and server-level crontab files. A generated expression with a verified description reduces deployment errors.
Data engineers scheduling ETL pipelines, data warehouse refreshes, and reporting jobs. A misscheduled pipeline that runs at the wrong frequency or wrong time can compound data quality issues silently.
Developers new to cron syntax who want to understand what an existing expression does. Paste the five fields into the generator and read the plain-English output, it is the fastest way to decode an unfamiliar schedule.
For splitting workloads across time windows, the Team Generator is useful for randomly assigning on-call rotations or assigning cron job ownership across a team.
What Insights Does the Cron Expression Generator Give You?
The generator produces two outputs: the cron expression itself (formatted as MIN HOUR DOM MON DOW in monospaced text, ready to copy into any scheduler) and the plain-English schedule description, which translates the five fields into a sentence describing when the job runs.
The expression output is copy-ready, paste it directly into a crontab, a GitHub Actions schedule: block, a Kubernetes CronJob spec.schedule, or an AWS EventBridge expression (note: EventBridge uses a six-field format with year appended; most platforms use the standard five-field format).
The description output verifies your intent before deployment. If you enter 0 9 * * 1 and the description says 'At 9:00 AM, on Monday' rather than 'on weekdays', you know to change 1 to 1-5.
How to use this Cron calculator
- Enter the minute field, type a specific minute (e.g.
0for on the hour), a step like*/15for every 15 minutes, or*for every minute. - Enter the hour field, type a specific hour in 24-hour format (e.g.
9for 9 AM,14for 2 PM), a range (8-18), a step (*/6), or*for every hour. - Enter the day-of-month field, type a calendar day (e.g.
1for the 1st of each month), a list (1,15), or*for every day. - Enter the month field, type a month number (
1–12), a name abbreviation (JAN,FEB), a range (6-8), or*for every month. - Enter the day-of-week field, type a weekday number (
0=Sun through6=Sat), a range (1-5for weekdays), a name abbreviation (MON,TUE), or*for every day of the week. - Click Generate, the tool outputs the formatted cron expression and its plain-English description.
- Verify the description, read the plain-English output to confirm the schedule matches your intention, then copy the expression for use in your scheduler.
Formula & Methodology
A cron expression is a string of exactly five space-separated fields. The generator joins the five inputs with a single space:EXPRESSION = minute + " " + hour + " " + dom + " " + month + " " + dowField reference: | Field | Position | Range | Allowed special characters | |---|---|---|---| | Minute | 1 | 0–59 |*,-/| | Hour | 2 | 0–23 |*,-/| | Day of month | 3 | 1–31 |*,-/| | Month | 4 | 1–12 or JAN–DEC |*,-/| | Day of week | 5 | 0–7 (0 and 7 = Sunday) or SUN–SAT |*,-/| Special character rules: -*, matches every value in the field -,, separates a list of values:1,15means the 1st and 15th --, defines a range:1-5means 1, 2, 3, 4, 5 -/, defines a step:*/15in the minute field means every 15 minutes;2/15means every 15 minutes starting at minute 2 Common patterns: | Expression | Meaning | |---|---| |* * * * *| Every minute | |0 * * * *| Every hour on the hour | |0 0 * * *| Daily at midnight | |0 9 * * 1-5| Weekdays at 9:00 AM | |*/15 * * * *| Every 15 minutes | |0 0 1 * *| First day of every month at midnight | |0 9,17 * * 1-5| Weekdays at 9 AM and 5 PM | |0 0 * * 0| Every Sunday at midnight |
Frequently Asked Questions