← All tools

Cron Expression Builder & Explainer

Enter a 5-field cron expression to get a plain-English explanation and the next 10 run times, computed live in your browser.

every minute hourly daily at midnight weekdays 9am every 15 min monthly on the 1st sundays 2am
Explanation appears here.

About this tool

Parses standard 5-field cron syntax — wildcards, lists (1,15), ranges (1-5), steps (*/15) and month/weekday names — then actually simulates the schedule forward from now to compute the next 10 run times in both your local timezone and UTC. It also follows the classic cron rule where day-of-month and day-of-week combine with OR when both are restricted.

Your expressions never leave the page — everything is calculated in your browser with no server, no upload, and no tracking of tool inputs.

Frequently asked questions

Why isn't my cron job running?

The most common causes: cron runs with a minimal PATH (often just /usr/bin:/bin), so use absolute paths to binaries; percent signs in a crontab line are treated as newlines and must be escaped as \%; cron does not load your shell profile, so environment variables from .bashrc are absent; and some crond implementations ignore a crontab whose last line lacks a trailing newline. Redirect output (>> /tmp/job.log 2>&1) to see what is actually failing.

What does */5 mean in a cron expression?

It is a step value: every 5th value across the field's range, starting at the range minimum. In the minute field, */5 fires at :00, :05, :10 and so on. Note that steps count from the range start, not from when the job was installed — */5 in the hour field means 0:xx, 5:xx, 10:xx, 15:xx and 20:xx, not every 5 hours from now. Ranges combine with steps too: 9-17/2 means 9, 11, 13, 15, 17.

What timezone do cron jobs run in?

Classic cron uses the server's system timezone, which on cloud hosts is usually UTC — a frequent surprise when a job scheduled for 9am fires at 2:30pm local time. Some crond versions honor a CRON_TZ variable, and platforms like Kubernetes CronJobs and GitHub Actions schedules are UTC by default. Also beware daylight-saving shifts: a job scheduled inside the skipped hour simply does not run that day on plain vixie-cron. The Timezone Converter helps translate a UTC schedule into your local time.

What happens when both day-of-month and day-of-week are set?

In standard (POSIX/vixie) cron they combine with OR, not AND: 0 0 13 * 5 runs on the 13th of every month AND on every Friday — not only on Friday the 13th. This surprises almost everyone. This tool implements the same OR rule, so the next-run preview shows you exactly which dates a combined expression will hit.

Does cron support seconds or six-field expressions?

Standard Unix cron has exactly five fields and one-minute resolution — no seconds. Six- and seven-field expressions with a leading seconds field come from Quartz (Java) and tools that imitate it, like Spring's @Scheduled; AWS EventBridge adds a year field and uses ? in place of *. If a six-field expression fails to parse here, drop the seconds field or use the scheduler's own syntax reference.

Found this useful? 113 free, browser-only tools by Yuvrajsinh Jadav — an engineer who ships production AI systems. No account, nothing sent anywhere.

Common cron schedules explained

every minute every 5 minutes every 10 minutes every 15 minutes every 30 minutes every hour every 2 hours every 6 hours every 12 hours every day at midnight every day at noon every day at 9am every day at 6pm twice a day every Sunday every Monday every Friday every weekday every weekend day on the 1st of every month on the 15th of every month once a year