Cron Generator — Build Cron Expressions Visually

Generate cron expressions with a GUI. Set minute, hour, day, month, and weekday with preset buttons.

* * * * *
Every minute
Next runs:
2026/05/25 12:582026/05/25 12:592026/05/25 13:002026/05/25 13:012026/05/25 13:02
Presets:

Matches every value (*)

About Cron Generator — Build Cron Expressions Visually

Cron Expression Generator lets you build cron jobs visually — no syntax memorization required. Select minute, hour, day, month, and weekday using a GUI, then copy the generated expression. Preview the next 5 scheduled run times in real time.

How to Use

  1. 1Click a field tab (Minute, Hour, Day, Month, Weekday) to configure it.
  2. 2Choose a mode: Every (*), Step (*/n), Range (a-b), or Specific values.
  3. 3Copy the generated cron expression and paste it into your crontab or scheduler.

Features

  • Visual GUI — no need to memorize cron syntax
  • Preview the next 5 run times in real time
  • Includes 10 common presets (every 5 min, weekdays at 9am, etc.)
  • Pairs with the Cron Parser tool for full cron workflow
01

Cron Expression Syntax Reference

Cron expressions are five space-separated fields that specify when a scheduled job should run. Mastering the field syntax lets you express nearly any recurring schedule precisely.

The Five Fields: Minute, Hour, Day, Month, Weekday

A cron expression follows the format: 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 four types of values: a specific number (5 = the 5th), a range (1-5 = 1 through 5), a step value (*/15 = every 15 units, or 0-30/10 = 0, 10, 20, 30), a list of values (1,3,5), or an asterisk (*) meaning "every". Month and weekday fields also accept three-letter abbreviations: JAN–DEC for months and MON–SUN for weekdays. For example, "30 8 * * MON-FRI" runs at 8:30 AM every weekday. "0 0 1 */3 *" runs at midnight on the first day of every third month.

Common Scheduling Patterns and Their Expressions

Several cron patterns appear repeatedly in production systems. "* * * * *" runs every minute and is typically used for health checks or polling tasks. "0 * * * *" runs at the top of every hour. "0 0 * * *" runs daily at midnight. "0 9 * * 1-5" runs at 9 AM on weekdays — a common pattern for business-hours jobs. "0 0 * * 0" runs weekly on Sunday. "0 0 1 * *" runs monthly on the first. "*/5 * * * *" runs every 5 minutes. Many platforms support shorthand aliases: @hourly, @daily, @weekly, @monthly, and @reboot. These aliases are easier to read but less flexible for custom schedules.

02

Deploying Cron Jobs Across Platforms

Cron expressions are used in Linux crontab, cloud schedulers, CI/CD platforms, and application frameworks. Each platform has specific behaviors and limitations to be aware of.

Linux crontab and System Cron

On Linux, user cron jobs are managed with crontab -e, which opens the user's crontab file for editing. Each line follows the format: expression command. The system timezone is used for scheduling by default, but individual cron jobs can override it by setting the TZ variable in the crontab: TZ=Asia/Tokyo. System-wide cron jobs in /etc/cron.d files include a username field after the expression: "0 9 * * * root /usr/bin/backup.sh". The cron daemon logs execution to syslog — check /var/log/cron or /var/log/syslog for job execution records and error output. Ensure commands use absolute paths since cron runs with a minimal environment and may not have your PATH configured.

GitHub Actions, AWS EventBridge, and Cloud Schedulers

GitHub Actions supports cron scheduling under the "on: schedule:" trigger using standard 5-field expressions. A critical detail: GitHub Actions runs in UTC, so a job intended for 9 AM JST (UTC+9) must be scheduled as "0 0 * * *" (midnight UTC). AWS EventBridge Scheduler and AWS CloudWatch Events also use cron expressions but with a 6-field format that adds a year field and uses ? instead of * when specifying either day-of-month or day-of-week but not both. Google Cloud Scheduler uses the standard 5-field Unix cron format but lets you specify the timezone per job. Always verify the next 5 run times after writing a schedule to catch off-by-one timezone errors before deployment.

FAQ

What is a cron expression?
A cron expression is a string of 5 fields (minute hour day month weekday) that defines a recurring schedule for automated tasks. For example, "0 9 * * 1-5" means "every weekday at 9:00 AM".
What does */5 mean in a cron expression?
*/5 is a step value meaning "every 5 units". In the minute field, */5 runs the job at minutes 0, 5, 10, 15... In the hour field, */2 would run every 2 hours.
How do I run a cron job only on weekdays?
Set the weekday field to 1-5 (Monday through Friday). For example, "0 9 * * 1-5" runs at 9:00 AM Monday through Friday. Use the Range mode in the Weekday tab to set this.
What is the difference between the day and weekday fields?
When both day and weekday are restricted (not *), cron uses OR logic — the job runs if either condition matches. This is a common source of confusion. If you want Monday on the 15th only, use a script-level check instead.
How do I use this with GitHub Actions?
In GitHub Actions, add the generated expression under "on: schedule: - cron:". Note that GitHub Actions uses UTC timezone, so subtract or add the offset for your local time. For Japan (JST = UTC+9), subtract 9 hours from your desired local time.

Found a bug or something not working as expected?

Report a bug →