CRON Expression Tester

Validate cron expressions, see human-readable descriptions and the next scheduled run times.

Minute*/50โ€“59
Hour*0โ€“23
Day*1โ€“31
Month*1โ€“12
Weekday*0โ€“7 (0,7=Sun)

Human-readable

Runs every 5 minutes of every hour

No matching run times found within the next year. Check day/month/weekday combination.

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.

Related tools

๐Ÿฅท ToolNinja