Cron expression generator
Use the quick-fill buttons to generate common cron schedules, or type your own expression. Each expression is immediately explained in plain English with upcoming run times shown below.
5-field format: minute · hour · day of month · month · day of week
How it works
The tool uses the cronstrue library to translate cron expressions into plain English, and pure JavaScript date arithmetic to compute the next scheduled run times. Everything runs in your browser. Our servers are not involved.
Processing runs in your browser
All parsing and scheduling calculations happen locally in your browser tab. Our servers are not involved at any point.
Related operations
For checking patterns inside log lines or schedules, try the regex tester. To work out the gap between two scheduled runs, use the date calculator. For converting cron timestamps to readable dates, see Unix timestamp.
Frequently asked questions
How do I schedule a task to run every 15 minutes?
Use */15 * * * *. The */15 in the minute field means 'every 15 minutes'.
How do I run a task at 2:30 AM every day?
Use 30 2 * * *: minute 30, hour 2, any day of month, any month, any day of week.
How do I run a task on the 1st of every month?
Use 0 0 1 * *. This runs at midnight on the 1st day of every month.
What is the difference between day-of-month and day-of-week?
Day-of-month (field 3) targets a specific date number (e.g. the 15th), while day-of-week (field 5) targets a specific day name (e.g. Monday). If both are set to non-wildcard values, most cron implementations will run when either condition is true.