Cron Expression Generator

A cron expression generator creates scheduled task expressions for Linux/Unix cron jobs and automation platforms. Cron expressions use 5 fields (minute hour day-of-month month day-of-week) to define recurring schedules. Format: "* * * * *" where * means "every." Examples: "0 9 * * *" (daily at 9 AM), "*/5 * * * *" (every 5 minutes), "0 9 * * 1-5" (weekdays at 9 AM), "0 0 1 * *" (first day of month at midnight). Used in crontab, Jenkins, GitHub Actions, AWS CloudWatch, and most CI/CD platforms. Special characters: * (every), */N (every N units), N-M (range), N,M (list). Always test cron expressions before deploying to production.

Generate cron expressions easily with a visual interface. Create cron schedules for Linux, Unix, and cron job automation with common presets and custom configurations.

Works OfflineDark ModeNo Ads

Frequency

Schedule Configuration

Generated Cron Expression

0 0 * * *

Every day at 00:00

Common Presets

Cron Expression Format

A cron expression consists of 5 fields separated by spaces:

minute hour day_of_month month day_of_week

minute: 0-59

hour: 0-23

day_of_month: 1-31

month: 1-12 or JAN-DEC

day_of_week: 0-6 or SUN-SAT (0 = Sunday)

Special characters:

* - Any value

*/5 - Every 5 units

1-5 - Range from 1 to 5

1,3,5 - Specific values

L - Last (day of month or week)

How to Use

  1. Enter your value in the input field
  2. Click the Calculate/Convert button
  3. Copy the result to your clipboard

Frequently Asked Questions

What is a cron expression and how does it work?
A cron expression is a string of 5 space-separated fields that define a schedule for automated tasks in Unix/Linux systems. The format is: minute (0-59), hour (0-23), day of month (1-31), month (1-12), and day of week (0-6, where 0=Sunday). For example, "0 9 * * 1" means "at 9:00 AM every Monday." Asterisks (*) mean "every" (e.g., * in the hour field = every hour). Special characters like */5 mean "every 5 units" (e.g., */5 in minute field = every 5 minutes). Cron expressions are used in crontab files, Jenkins, GitHub Actions, AWS CloudWatch, and most automation platforms.
How do I create a cron expression for daily tasks?
For daily tasks, use the format: minute hour * * *. The first two fields specify the exact time, and the three asterisks mean "every day, every month, every day of week." Examples: "0 0 * * *" runs at midnight (00:00), "30 14 * * *" runs at 2:30 PM daily, "0 9 * * *" runs at 9 AM daily. To run multiple times per day, use commas: "0 6,12,18 * * *" runs at 6 AM, noon, and 6 PM. To run every N hours, use */N in the hour field: "0 */6 * * *" runs every 6 hours (at 0:00, 6:00, 12:00, 18:00).
What does "0 0 1 * *" mean in cron syntax?
"0 0 1 * *" means "at midnight (00:00) on the first day of every month." Breaking it down: first 0 = minute 0, second 0 = hour 0 (midnight), 1 = day 1 of month, first * = every month, second * = any day of week. This is commonly used for monthly billing, reports, or database backups. Similar examples: "0 0 15 * *" runs at midnight on the 15th of every month, "0 9 1 1 *" runs at 9 AM on January 1st (New Year), "0 0 L * *" runs on the last day of every month (L = last, in some cron implementations).
How can I run a cron job every 5 minutes?
Use "*/5 * * * *" to run every 5 minutes. The */5 syntax means "every 5th minute." The remaining asterisks mean every hour, every day, every month, and every day of week. This runs 288 times per day (24 hours × 12 five-minute intervals). Other interval examples: "*/10 * * * *" = every 10 minutes, "*/15 * * * *" = every 15 minutes (common for monitoring), "*/30 * * * *" = every 30 minutes. For hourly intervals, use "0 */2 * * *" (every 2 hours starting at midnight), or "0 */4 * * *" (every 4 hours).
What is the cron expression for weekdays only (Monday to Friday)?
Use "0 9 * * 1-5" to run at 9 AM on weekdays (Monday-Friday). The "1-5" in the day-of-week field specifies Monday (1) through Friday (5). Sunday is 0, Saturday is 6. Examples: "0 8 * * 1-5" runs at 8 AM on weekdays, "30 17 * * 1-5" runs at 5:30 PM on weekdays (end of business day), "0 0 * * 1-5" runs at midnight Monday-Friday. You can also use specific days: "0 9 * * 1,3,5" runs at 9 AM on Monday, Wednesday, Friday only. For weekends, use "0 9 * * 0,6" (Sunday and Saturday).
Can I use cron expressions in non-Linux environments like Windows or cloud services?
Yes, cron syntax is widely supported beyond Linux. AWS CloudWatch Events/EventBridge use cron expressions with 6 fields (adding year): "0 10 * * ? *" runs at 10 AM daily. Azure Logic Apps and AWS Lambda support cron triggers. GitHub Actions uses cron syntax in workflow schedules. Jenkins, GitLab CI, and CircleCI all support cron expressions for pipeline scheduling. Windows Task Scheduler does not use cron syntax natively, but you can run cron jobs via WSL (Windows Subsystem for Linux) or use third-party tools. Cloud platforms like Heroku Scheduler, Google Cloud Scheduler, and Vercel Cron Jobs all accept cron expressions.
What are common cron expression mistakes and how do I avoid them?
Common mistakes: (1) Confusing day-of-month and day-of-week - using both creates an OR condition, not AND. Example: "0 9 15 * 1" runs on the 15th OR every Monday, not "15th if it is a Monday." Use ? in cloud platforms to avoid conflicts. (2) Forgetting 0-based day-of-week (0=Sunday, not 1). (3) Using 24 for midnight - correct is 0, not 24. (4) Incorrect interval syntax - use */5, not *5. (5) Exceeding valid ranges (hour 0-23, not 1-24). (6) Timezone confusion - cron runs in server time, not your local time. Always check which timezone your server uses (UTC for most cloud services). Test expressions with online validators before deploying.

Related Tools