Quick picks:
Cron Expression Parser
Cron is a time-based job scheduler used in Unix-like operating systems to run commands or scripts at fixed times, dates, or intervals. A cron expression is a string of 5 fields (minute, hour, day-of-month, month, day-of-week) that defines when a job runs. This tool converts any cron expression to plain English and shows the next 5 scheduled run times — all computed in your browser.
What this tool does
Paste a cron expression and this tool translates it into plain English and shows you the next 5 scheduled run times in UTC. It parses standard 5-field cron syntax (minute, hour, day-of-month, month, day-of-week) and handles all the special characters: *, /, -, and ,. The field breakdown at the bottom shows each part of the expression separately, which helps when debugging a complex schedule.
How to use it
- Type or paste a cron expression in the input field. The result updates as you type.
- Use the Quick picks buttons for common schedules — they populate the field instantly.
- Read the plain-English summary to confirm the schedule matches what you intended.
- Check the Next 5 Run Times to see exact UTC timestamps — useful for validating that a job won't fire at 3am your time.
- Click Copy on the run times if you need to share them in a ticket or doc.
Cron syntax quick reference
*— any value.* * * * *runs every minute.*/n— every nth value.*/15 * * * *runs every 15 minutes.a-b— range.0 9-17 * * 1-5runs every hour from 9am to 5pm on weekdays.a,b,c— list.0 0 1,15 * *runs at midnight on the 1st and 15th of each month.a-b/n— range with step.0/30 9-17 * * *runs at :00 and :30 of each hour between 9am and 5pm.
Frequently Asked Questions
What are the five cron fields in order?
Left to right: minute (0–59), hour (0–23), day of month (1–31), month (1–12), day of week (0–7, where both 0 and 7 mean Sunday). A useful mnemonic: "minutes, hours, days, months, weekdays." The field grid at the bottom of the tool shows each field of your expression labeled.
What shortcuts like @daily work in crontab?
Most cron implementations support these nicknames: @hourly = 0 * * * *, @daily / @midnight = 0 0 * * *, @weekly = 0 0 * * 0, @monthly = 0 0 1 * *, @yearly / @annually = 0 0 1 1 *, and @reboot = run once at system startup. This tool parses the 5-field equivalent — just convert the shortcut to its 5-field form using the list above.
How does cron handle timezones?
Standard system cron runs in the server's local timezone — whatever timedatectl or /etc/timezone says. This tool shows next run times in UTC. If your server is in Berlin (UTC+2 in summer), a 0 9 * * * job fires at 07:00 UTC. Cloud schedulers (Google Cloud Scheduler, AWS EventBridge, Kubernetes CronJobs) default to UTC but usually let you specify a timezone in the config. Always verify which timezone your scheduler uses — this is one of the most common sources of cron bugs in production.
Why does specifying both day-of-month and day-of-week behave oddly?
When both fields are set (neither is *), most cron implementations treat them as OR, not AND. So 0 0 1 * 1 runs at midnight on the 1st of every month AND every Monday — not only on Mondays that fall on the 1st. This surprises a lot of people. If you want a specific weekday of a specific week, use a more complex expression or handle the logic in the script itself.
Want the full explanation? Read the guide: Cron Syntax Without the Pain: Scheduling Jobs That Run When You Expect →