Cron Syntax Explained
30 9 1,15 * *On day 1st, 15th of every month at 9:30 AM
Next 10 Executions
Times shown in UTC
- Mon, Jun 1, 202609:30
- Mon, Jun 15, 202609:30
- Wed, Jul 1, 202609:30
- Wed, Jul 15, 202609:30
- Sat, Aug 1, 202609:30
- Sat, Aug 15, 202609:30
- Tue, Sep 1, 202609:30
- Tue, Sep 15, 202609:30
- Thu, Oct 1, 202609:30
- Thu, Oct 15, 202609:30
Field Breakdown
3091,15**About This Schedule
A cron expression consists of five fields separated by spaces: minute hour day-of-month month day-of-week. Each field accepts specific values, wildcards (*), ranges (1-5), steps (*/5), and comma-separated lists (1,3,5).
The five fields and their valid ranges are: minute (0-59), hour (0-23), day of month (1-31), month (1-12), and day of week (0-6, where 0 is Sunday). A wildcard * means "every possible value." A step like */5 means "every 5th value starting from the minimum." A range like 9-17 means "9 through 17 inclusive."
These building blocks combine to create powerful schedules. For example, 30 9 1,15 * * means "at 9:30 AM on the 1st and 15th of every month." Understanding the syntax lets you write any schedule without relying on a generator — though tools like SimpleCronTab make it faster and less error-prone.