Cron Expression Generator

Build and explain cron expressions visually. Generate cron schedules and see human-readable descriptions.

min hour day month weekday

Every minute

Next 5 Scheduled Runs

About This Tool

Cron is the standard job scheduler on Linux, Unix, and macOS systems. A cron expression is a string of five fields that defines when a scheduled task should run โ€” specifying the minute, hour, day of month, month, and day of week. Writing cron expressions by hand is error-prone. The difference between "every day at 3 AM" and "every hour on the 3rd" is easy to mix up. This tool lets you build cron expressions visually by selecting the schedule you want, or paste an existing cron expression to get a plain-English explanation. The generator supports standard 5-field cron syntax used by crontab, Kubernetes CronJobs, GitHub Actions, AWS CloudWatch, and most other scheduling systems.

How to Use

1. Use the visual builder to select when the job should run (minute, hour, day, month, weekday) 2. Or paste an existing cron expression in the input field to explain it 3. The human-readable description updates instantly 4. Preview the next scheduled run times 5. Click "Copy" to copy the cron expression to your clipboard

Frequently Asked Questions

What is a cron expression?
A cron expression is a string of five fields (minute, hour, day of month, month, day of week) separated by spaces that defines a recurring schedule. For example, '0 9 * * 1' means 'every Monday at 9:00 AM'. It's used by cron, Kubernetes, CI/CD systems, and cloud schedulers.
What does the asterisk (*) mean in cron?
The asterisk means 'every possible value' for that field. So * in the minute field means every minute, * in the hour field means every hour, and so on.
What is the difference between */5 and 0,5,10,15...?
They produce the same result. */5 is shorthand for 'every 5th value' โ€” it's called a step value. In the minute field, */5 means every 5 minutes (0, 5, 10, 15, ..., 55).
How do I run a cron job every day at midnight?
Use the expression '0 0 * * *'. This means: at minute 0 of hour 0 (midnight), every day of every month, regardless of the day of the week.
Can I specify both day of month and day of week?
Yes, but be careful โ€” in standard cron, if both fields are set (not *), the job runs when either condition is met, not both. For example, '0 0 15 * 1' runs at midnight on the 15th of every month AND every Monday.
What is the minimum interval for cron?
Standard cron's smallest unit is one minute. You cannot schedule jobs to run more frequently than once per minute with cron alone. For sub-minute scheduling, you'd need a different tool or a wrapper script.

Related Tools