How to use Cron Expression Generator
To build a cron expression, use the visual builder — select the minute, hour, day, month, and day-of-week values using the dropdowns and checkboxes on each panel. As you make selections, the cron expression updates in real time in the output field, and a plain-English description below explains exactly when the job will run. Common presets (every minute, every hour, daily at midnight, every weekday) are available as one-click starting points that you can then customize.
To decode an existing cron expression, paste it directly into the Expression input field. The visual builder will highlight the corresponding selections and the plain-English description will explain the schedule. This is useful when reviewing cron jobs in a codebase, CI/CD pipeline, or server configuration where the schedule was written by someone else. Copy the expression from the output field to use it in your scheduler.
Why use our Cron Expression Generator?
- Visual builder with real-time expression preview — no manual syntax memorization needed
- Plain-English description for every expression — understand exactly when a job runs
- Decode mode — paste an existing expression to understand its schedule
- Common preset schedules as one-click starting points
- Supports standard 5-field cron syntax (minute, hour, day, month, weekday)
- Decode any existing expression — paste it in to see what schedule it describes
Frequently Asked Questions
What is a cron expression?
A cron expression is a string of five (or six) space-separated fields that define a recurring schedule for automated tasks. The five standard fields are: minute (0–59), hour (0–23), day of month (1–31), month (1–12), and day of week (0–7, where both 0 and 7 represent Sunday). Special characters like * (any value), , (list), - (range), and / (step) allow flexible scheduling patterns. Cron is the standard scheduling mechanism on Unix/Linux systems and is supported by most CI/CD platforms, cloud schedulers, and task runners.
What does each field in a cron expression mean?
The five fields from left to right are: (1) Minute: which minute of the hour the job runs (0 = top of the hour, 30 = half past). (2) Hour: which hour in 24-hour format (0 = midnight, 13 = 1 PM). (3) Day of Month: which day of the month (1–31). (4) Month: which month (1–12 or JAN–DEC). (5) Day of Week: which day of the week (0–7, where 0 and 7 are Sunday, or SUN–SAT). An asterisk * in any field means 'every valid value for this field'. For example, '0 9 * * 1' means 'at 9:00 AM every Monday'.
What do the special characters (*, /, -, ,) mean in cron?
Asterisk (*) matches every valid value for that field — use it when you don't want to restrict a field. Comma (,) separates multiple values: '1,15' in the minute field means 'at minute 1 and minute 15'. Hyphen (-) specifies a range: '9-17' in the hour field means 'every hour from 9 AM to 5 PM inclusive'. Slash (/) specifies a step value: '*/5' in the minute field means 'every 5 minutes'; '0/15' means 'starting at 0, every 15 minutes'. Combining these: '0 */6 * * *' means 'every 6 hours at the top of the hour'.
How do I schedule a job to run every weekday at 9 AM?
The cron expression is: 0 9 * * 1-5. Breaking it down: 0 = at minute 0 (top of the hour), 9 = at 9 AM, * = every day of the month, * = every month, 1-5 = Monday through Friday (1=Monday, 5=Friday). Note: when both day-of-month and day-of-week are specified (not *), most cron implementations run the job if either condition is true — using * for day-of-month and specifying day-of-week ensures weekday-only execution.
What time zone does cron use?
Standard cron runs in the server's local timezone, whatever that is set to. This means the same cron expression can run at different UTC times depending on where the server is. Most managed schedulers (AWS EventBridge, Google Cloud Scheduler, GitHub Actions) allow you to specify a timezone explicitly. If you're running jobs on a server, verify the system timezone with timedatectl (Linux) or date (macOS). For consistency across environments, set the server to UTC and convert to local time only when displaying results.