CRON Expression Tester
Validate cron expressions, see human-readable descriptions and the next scheduled run times.
Human-readable
Runs every 5 minutes of every hour
About this tool
The CRON Expression Tester parses cron schedule expressions and previews the next upcoming run times in human-readable format. Cron expressions have five fields controlling minute, hour, day-of-month, month, and day-of-week, with special characters for ranges, steps, and lists.
When to use it
- โVerifying that a scheduled job will run at the expected times before deploying
- โDebugging why a cron job isn't firing when expected
- โBuilding cron expressions interactively without memorizing field order
- โChecking run frequency โ how many times per hour, day, or week a schedule runs
Tips
- โThe classic 5-field format is: minute hour day month weekday (0-59, 0-23, 1-31, 1-12, 0-7).
- โ*/5 in the minute field means 'every 5 minutes'. 0,30 means 'at minute 0 and 30'.
- โSome platforms (AWS EventBridge, Quartz) add a 6th field for seconds or year โ check your platform's documentation.
Frequently asked questions
What does */5 mean in a cron expression?
The */ syntax means 'every N units'. */5 in the minute field fires at minutes 0, 5, 10, 15, ..., 55. In the hour field it fires every 5 hours. The step value after the slash divides the full range into intervals. You can also restrict the range: 0-30/5 fires every 5 minutes only during the first half of each hour.
Why is 0 and 7 both Sunday in the weekday field?
Different cron implementations historically used either 0 or 7 for Sunday. Most modern cron parsers accept both โ 0 and 7 are treated as Sunday. Monday is 1, Tuesday is 2, and so on through Saturday as 6. To avoid ambiguity, use 1-5 for weekdays and 0 or 6 for weekend days.
What is the difference between @daily, @weekly, and a manual expression?
@daily is shorthand for 0 0 * * * (midnight every day). @weekly is 0 0 * * 0 (midnight every Sunday). @hourly is 0 * * * * (top of every hour). @monthly is 0 0 1 * * (midnight on the 1st). These named schedules are more readable than manual expressions and are supported by most modern cron implementations.
Does cron run in UTC or local time?
Standard cron (as configured in /etc/crontab and user crontabs) runs in the server's local timezone. Cloud schedulers (AWS EventBridge, Google Cloud Scheduler, GitHub Actions) typically run in UTC. Always specify the timezone explicitly in platform schedulers to avoid surprises around daylight saving time transitions.