⏱OpsTools

Cron Expression Generator

Build valid cron expressions by selecting the time fields below. Get an instant human-readable description, copy the expression, or share it via a permanent link.

0 * * * *
✓

Share:/cron/0-*-*-*-*

Popular Presets

What is a Cron Expression Generator?

A cron expression generator is a visual tool that helps you build valid cron schedule strings without memorizing the syntax. Instead of manually writing cryptic expressions like 0 3 * * 1-5, you simply select values from dropdown menus — minute, hour, day of month, month, and day of week — and the tool assembles the correct expression for you in real time.

Cron expressions are used everywhere in modern infrastructure: from traditional Linux crontab scheduling to Kubernetes CronJobs, GitHub Actions workflows, AWS EventBridge rules, and CI/CD pipelines. A single misplaced character can cause a job to run every minute instead of every hour — or never run at all. This generator eliminates that risk by validating your selection instantly and showing a human-readable description of the schedule.

Whether you need to run a task every 5 minutes, schedule a daily backup at 2 AM, or set up a weekly Monday report, this tool generates the exact expression you need — ready to copy and paste into your crontab, deployment manifest, or automation config.

How to Generate Cron Expressions Step by Step

Building a cron schedule takes just three steps. No sign-up, no installation — everything runs in your browser.

1

Select Time Fields

Choose values for each of the five cron fields: minute (0–59), hour (0–23), day of month (1–31), month (1–12), and day of week (0–7). Use wildcards like "every" or step values like "every 5 minutes" for recurring schedules.

2

Review the Expression

The cron expression updates instantly as you make selections. A plain-English description appears below it — for example, "At 03:00 AM, Monday through Friday" — so you can verify the schedule is correct before using it.

3

Copy or Share

Click "Copy" to copy the expression to your clipboard, ready to paste into your crontab or config file. You can also copy the shareable link to send the exact schedule to teammates.

Common Cron Expression Examples

Below are the most frequently used cron schedules. Click any example to see a detailed breakdown with next execution times.

ScheduleExpressionUse Case
Every minute* * * * *Health checks, real-time monitoring
Every 5 minutes*/5 * * * *Cache refresh, queue polling
Every hour0 * * * *Log rotation, data sync
Daily at midnight0 0 * * *Database backup, report generation
Daily at 2 AM0 2 * * *Off-peak maintenance, cleanup jobs
Weekdays at 9 AM0 9 * * 1-5Business notifications, daily standup reminders
Every Monday0 0 * * 1Weekly reports, digest emails
Monthly (1st)0 0 1 * *Billing, monthly summaries

Cron Syntax Quick Reference

FieldAllowed ValuesSpecial Characters
Minute0–59* , - /
Hour0–23* , - /
Day of Month1–31* , - / ? L W
Month1–12 (or JAN–DEC)* , - /
Day of Week0–7 (0 & 7 = Sunday)* , - / ? L #

Real Debugging Examples

  • Job runs every minute by mistake: used * instead of 0 in minute field.
  • Weekday job runs on Sunday: scheduler treats 0 as Sunday and fields were swapped.
  • Backup runs 8 hours late: expression is correct, but server timezone is UTC instead of local timezone.
  • Kubernetes CronJob rejected: copied expression with seconds field into a 5-field environment.

Common Mistakes

  • Minute/hour confusion: first field is minute, second field is hour.
  • Mixing day-of-week and day-of-month rules: both fields can interact in non-intuitive ways.
  • Ignoring timezone: cron syntax does not include timezone by default.
  • Wrong environment syntax: Linux, Quartz, and cloud schedulers can differ.

Recommended Debug Flow

  1. Generate expression visually and verify human-readable description.
  2. Open a matching example page like every hour or weekdays at 9 AM.
  3. Check server timezone and scheduler timezone settings in deployment environment.
  4. Convert log timestamps with Unix Timestamp Converter.
  5. If expression travels in query strings or API params, inspect encoding with URL Encode Decode.

Explore More Cron Schedules

Dive deeper into specific cron expressions. Each page includes a detailed explanation, live parser, next execution times, and real-world use cases.

Frequently Asked Questions

What is a cron expression?▾
A cron expression is a string of five (or six) fields separated by spaces that represent a schedule. The five standard fields are: minute, hour, day of month, month, and day of week. Cron is used on Unix/Linux systems to automate recurring tasks.
What does * (asterisk) mean in cron?▾
The asterisk (*) is a wildcard that means "every" possible value for that field. For example, * in the minute field means the task runs every minute, and * in the month field means every month.
What does */5 mean in a cron expression?▾
The notation */5 is a step value. In the minute field, */5 means "every 5th minute" — so the task runs at minutes 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, and 55.
Can I use this generator for Kubernetes CronJobs?▾
Yes! Kubernetes CronJobs use the same standard 5-field cron syntax. Just generate your expression here, copy it, and paste it into your CronJob manifest's schedule field.
How do I run a cron job every day at 3 AM?▾
Set minute to 0, hour to 3, and leave day, month, and weekday as 'every'. The resulting expression is: 0 3 * * *
What is the difference between cron and crontab?▾
Cron is the daemon (background process) that executes scheduled tasks. Crontab (cron table) is the configuration file where you define the schedule and commands. You edit it with the 'crontab -e' command.
Why does my cron job run at the wrong time?▾
Most cases are timezone mismatch (server UTC vs local timezone), wrong weekday/day-of-month fields, or using a 6-field expression in a 5-field parser.

Need to parse an existing cron expression?

Paste any cron expression into our parser to get a human-readable explanation and the next execution times.

Go to Cron Parser →