Skip to content
Free tool · no signup

Cron expression generator

Type any 5-field crontab expression and get a plain-English translation plus the next run times, or start from a preset. Everything runs in your browser.

Updated

Runs at 03:00, every day.

Next 5 runs (your local time)

  • Tue, Jul 21, 2026, 03:00 AM
  • Wed, Jul 22, 2026, 03:00 AM
  • Thu, Jul 23, 2026, 03:00 AM
  • Fri, Jul 24, 2026, 03:00 AM
  • Sat, Jul 25, 2026, 03:00 AM

Cron syntax in 60 seconds

A crontab line has five schedule fields followed by the command: minute hour day-of-month month day-of-week. Each field accepts a number, a name where applicable (JAN, MON), a range (1-5), a list (1,15), a step (*/10), or * for every value. Two traps catch nearly everyone:

  • Day-of-month OR day-of-week. When both are restricted, classic cron runs the job when either matches, not both.
  • Server timezone. Cron fires in the timezone of the machine, which on most servers is UTC, not your local time.

Once the schedule is right, the remaining risk is silent failure: cron will not tell you when the job stops running. That is what cron job monitoring is for: the job pings a URL on every successful run, and you get alerted when the pings stop.

FAQ

What do the 5 fields in a cron expression mean?+

In order: minute (0-59), hour (0-23), day of month (1-31), month (1-12 or JAN-DEC), and day of week (0-7 or SUN-SAT, where both 0 and 7 mean Sunday). An asterisk means "every value". So "0 3 * * *" runs at 03:00 every day, and "*/15 * * * *" runs every 15 minutes.

What does */5 mean in cron?+

It is a step value: "every 5th unit". In the minute field, */5 means minutes 0, 5, 10, and so on. Steps also work with ranges: 9-17/2 in the hour field means every 2 hours from 09:00 through 17:00.

Why does my expression with both a day-of-month and a weekday fire more often than I expected?+

Classic cron treats a restricted day-of-month AND a restricted day-of-week as OR, not AND. "0 0 1 * 1" runs on the 1st of the month AND on every Monday, which surprises almost everyone. This translator calls that out when it applies.

Is a 6-field expression valid crontab?+

Not in classic crontab. Six fields usually means the first field is seconds, a convention used by Quartz (Java), some cloud schedulers, and libraries like node-cron in seconds mode. If you paste a 6-field expression here, the tool tells you to drop the seconds field for crontab.

What timezone does cron use?+

The system timezone of the machine running the cron daemon, which on servers is often UTC. The next-run preview on this page uses YOUR browser timezone, so if your server runs UTC, shift accordingly. Some cron implementations support a CRON_TZ variable at the top of the crontab.

How do I know my cron job actually ran?+

Cron does not tell you when a job silently stops: a crashed script, a full disk, or a commented-out crontab line all fail without a sound. The standard fix is heartbeat monitoring: append a curl ping to the job so a monitoring service alerts you when the pings stop. UptimePad includes heartbeat monitors on its free plan.

uptimePAD

Now make sure the job actually runs.

Add one curl line to your cron job and get alerted when it stops running. Heartbeat monitors are on the free plan, no card required.

Monitor your cron jobs free