Cron Expression Generator & Parser — Build Cron Schedules Online
Understanding the Basics
Cron is a time-based job scheduling daemon in Unix-like operating systems that executes scheduled commands at specified intervals. The scheduling syntax — a cron expression — consists of five (or six) space-separated fields representing minute, hour, day-of-month, month, and day-of-week (some implementations add a seconds field at the beginning or a year field at the end). Each field accepts a specific value, a range (1-5), a comma-separated list (1,3,5), a step (*/15 for every 15 units), or a wildcard (*) meaning "any value." The complexity of cron expressions escalates quickly: "0 9-17 * * 1-5" means "every minute from 9am to 5pm on weekdays," while "0 0 1 */3 *" means "midnight on the first day of every third month." Cron powers scheduled database backups, periodic report generation, log rotation, certificate renewal (Let's Encrypt certbot), cache invalidation, and automated data pipeline triggers. Modern systems extend cron: Kubernetes CronJobs use cron syntax for pod scheduling, AWS EventBridge (CloudWatch Events) supports cron expressions for Lambda triggers, GitHub Actions uses cron syntax for scheduled workflow runs, and task queues like Celery Beat use cron for periodic task scheduling.
How to Use the Tool
- Use the visual builder to select the schedule type: every N minutes, hourly, daily, weekly, monthly, or custom.
- The corresponding cron expression is generated and displayed in the expression field as you configure the schedule.
- Alternatively, type a cron expression directly — the tool parses it and describes the schedule in plain English.
- The next 10 execution times are listed below the expression to confirm the schedule matches your intent.
- Copy the cron expression for use in your crontab, Kubernetes CronJob spec, GitHub Actions schedule, or application scheduler.
Key Features & Specifications
- Visual cron builder: select schedule from presets (hourly, daily, weekly) and configure parameters
- Plain-English description of any cron expression (e.g., "Every 15 minutes, between 9am and 5pm, Monday through Friday")
- Next-run preview: shows the upcoming 10 scheduled execution times
- Supports standard 5-field cron and extended 6-field (with seconds) expressions
- Supports special strings: @hourly, @daily, @weekly, @monthly, @yearly
Frequently Asked Questions (FAQ)
- Q:What is the difference between "*/15" and "0,15,30,45" in a cron minute field?
- They produce identical results: both schedule execution at minutes 0, 15, 30, and 45 of every hour. The */15 step notation is shorthand for "every 15th value starting from 0." The comma list is more explicit but both are semantically equivalent.
- Q:Why does my cron job run twice when I specify both day-of-month and day-of-week?
- When both day-of-month and day-of-week are specified (neither is *), most cron implementations use OR logic: the job runs when either the day-of-month condition OR the day-of-week condition is met. To run on a specific weekday of a specific month, you must post-filter in the script itself.
- Q:Does cron run in UTC or local time?
- Traditional cron reads the system's local timezone. Kubernetes CronJobs run in UTC. GitHub Actions scheduled workflows run in UTC. AWS EventBridge cron runs in UTC. Always clarify which timezone your scheduler uses and configure accordingly to avoid surprises around daylight saving time transitions.