Cron Expression Explainer
Decode any cron schedule into plain English and see the next few fire times.
- cron
- schedule
- crontab
- job
- next run
About Cron Expression Explainer
Cron expressions are the standard way to describe a recurring schedule on Unix-like systems, in CI pipelines, in Kubernetes CronJobs, and in countless application schedulers. They're powerful but notoriously hard to read at a glance — five fields of stars, numbers, slashes, and commas that compress an enormous range of schedules into a single line.
This explainer takes any cron expression and translates it back into plain English ("At 09:00 on every weekday"), then shows the next five times it would actually fire so you can sanity-check the schedule against reality. It accepts the common shorthand aliases like @daily, @hourly, and @weekly too.
How to use
Type or paste a five-field cron expression into the input — the field order is minute, hour, day-of-month, month, day-of-week, shown as a reminder underneath. Each character supports the usual cron syntax: numbers, ranges (e.g. 1-5), lists (1,3,5), steps (*/15), and the @daily / @hourly / @weekly / @monthly / @yearly aliases.
The description and the next-five-fire-times list update as you type. If your schedule is impossible (like firing on Feb 30), the fire-times list comes back empty. Click any of the preset chips — "Every 15 min", "Weekdays 09:00", "1st of month", etc. — to start from a known-good expression and tweak from there.
Frequently asked questions
What are the five fields of a cron expression?
In order: minute (0–59), hour (0–23), day-of-month (1–31), month (1–12), and day-of-week (0–6, where 0 is Sunday). Each field can be a single number, a list (1,3,5), a range (1-5), a step (*/15), an asterisk to mean "every", or a combination of those.
Which shortcuts does this parser accept?
The standard @-aliases: @yearly (and @annually), @monthly, @weekly, @daily (and @midnight), and @hourly. Each expands to the equivalent five-field expression internally.
Why might my schedule never fire?
Because some combinations are impossible. "0 0 30 2 *" asks for midnight on 30 February — a date that never exists — so the next-fire-times list comes back empty. Other common pitfalls include specifying both a day-of-month and a day-of-week that can never line up on the same date within the search window.
In what timezone are the next-fire-times shown?
They're shown in your browser's local timezone, with the timezone abbreviation appended (e.g. EST, BST, JST). Cron itself doesn't have a built-in timezone — most servers run cron in UTC or the host's local time, so check your scheduler's timezone setting if the production fire times look different.
Does this support seconds (six-field cron)?
No — this parser is for the classic five-field Unix cron format that the Linux crontab uses. Some application schedulers (Quartz, AWS EventBridge, Spring) accept a six-field variant that adds a seconds column at the front; those expressions are not supported here.
More Time & Dates tools
Unix Timestamp Converter
Convert between Unix timestamps and human-readable dates across timezones.
Date Difference Calculator
Years, months, days, weeks, and total time between two dates. Optional business-days mode.
Age Calculator
Exact age in years, months, days, hours, and seconds — plus the days until your next birthday.
Countdown Timer
Live countdown (or count-up) to any target date and time, in any timezone.