Cron Schedule Simulator

Enter a cron expression to preview the next 100 run times, calendar view, and countdown. 100% client-side.

minutehourdommonthdow
Next 100 Execution Times
Enter a cron expression above to preview execution times.

How to Use the Cron Schedule Simulator

  1. Enter your cron expression in the input field (5 space-separated fields).
  2. Select a timezone from the dropdown — defaults to your local timezone.
  3. View the next 100 runs in the grid below — the first upcoming run is highlighted in green.
  4. Check the calendar to see which dates in the current month have scheduled runs.
  5. Watch the countdown showing exact time until the next execution.
  6. Copy or download the list of run times as plain text.

Understanding Cron Expression Syntax

A standard Unix cron expression consists of five fields, each representing a unit of time. Fields are separated by spaces and evaluated left to right:

  • Minute — 0–59. Controls which minute(s) of the hour the job runs.
  • Hour — 0–23. Controls which hour(s) of the day the job runs.
  • Day of Month — 1–31. Controls which day(s) of the month the job runs.
  • Month — 1–12 or JAN–DEC. Controls which month(s) the job runs.
  • Day of Week — 0–7 (0 and 7 both mean Sunday) or SUN–SAT. Controls which day(s) of the week the job runs.

Special Characters

  • * (asterisk) — matches any value. * * * * * runs every minute.
  • / (slash) — step values. */15 in the minute field runs at 0, 15, 30, 45.
  • - (hyphen) — ranges. 1-5 in the day-of-week field means Monday through Friday.
  • , (comma) — lists. 1,15 in the day-of-month field runs on the 1st and 15th.

Common Cron Patterns

  • */5 * * * * — every 5 minutes
  • 0 * * * * — at the top of every hour
  • 0 0 * * * — daily at midnight
  • 0 9 * * 1-5 — weekdays at 9:00 AM
  • 0 0 1 * * — first of every month at midnight
  • 0 0 * * 0 — every Sunday at midnight
  • 0 12 * * * — daily at noon
  • 30 23 * * 5 — every Friday at 11:30 PM

Timezones and Cron

Standard cron runs jobs in the system's local timezone. When your server is in UTC but you want a job at 9 AM New York time (UTC-5 or UTC-4 depending on DST), you must account for the offset: 0 14 * * * for EST or 0 13 * * * for EDT. Modern schedulers like AWS EventBridge Scheduler, Kubernetes CronJob (with timezone support), and GitHub Actions support explicit timezone declarations to avoid this confusion. Use the timezone selector in this simulator to check exactly when your cron expression fires in any timezone.

Debugging Cron Jobs

The most common cron mistake is getting the field order wrong — many developers accidentally write the hour before the minute. Remember: Minute Hour DOM Month DOW. Another frequent error is assuming */1 * * * * and * * * * * are different — they are identical; both run every minute. Also note that some systems restrict the minimum interval (e.g., AWS EventBridge has a minimum of 1 minute, not sub-minute). For sub-minute scheduling, use a different mechanism like a sleep loop within the process or a dedicated job queue. See the related Cron Parser for human-readable cron descriptions.

Frequently Asked Questions

A cron expression is a string of five space-separated fields that defines a recurring schedule: minute, hour, day-of-month, month, and day-of-week. Special characters (*, /, -, ,) allow flexible patterns like "every 5 minutes" or "weekdays at 9 AM".
*/5 * * * * means "every 5 minutes". The */5 in the minute field fires at minutes 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, and 55 of every hour, every day.
Use 0 0 * * 0 — minute 0, hour 0 (midnight), any day of month, any month, day of week 0 (Sunday). You can also write 0 0 * * SUN using three-letter day abbreviations.
Standard Unix cron uses 5 fields (minute through day-of-week). Some systems like Spring Boot, Quartz, and AWS EventBridge add a seconds field at the start, giving 6 fields. This simulator uses the standard 5-field Unix format.
Cron runs in the server's local timezone. Use the timezone selector in this tool to match your server's timezone. Most Linux servers default to UTC — selecting UTC in the dropdown will show times as your server sees them.