Cron Expression Explainer
Turn a cron line into a sentence and see exactly when it will run next.
Works in your browser. Nothing you type is sent to us.
Syntax
*any value5exactly 51-51 through 5*/15every 15th, from the start1,151 and 159-17/2every 2nd from 9 through 17MON-FRInames for days and months0 or 7both mean Sunday@dailyalso @hourly, @weekly, @monthly, @yearly, @reboot6 fieldsa leading seconds field is read tooWorked out in your browser. Nothing you type is sent to us.
Cron Expression Explainer at a glance
- Price
- Free
- Data sent to us
- None, it runs in your browser
- Sign-up
- Not needed
- Reads
- Standard 5-field cron, 6 fields with seconds, macros
- Next runs
- Five, in local time or UTC
- Does not read
- Quartz L, W and #
How to use Cron Expression Explainer
- Paste the expressionType it in the box or click one of the examples. The sentence appears at once.
- Check the fieldsThe table explains minute, hour, day of month, month and day of week one at a time.
- Check the next runsPick UTC if your server runs on UTC, as most do, and read the next five times. Copy the schedule to paste into a ticket or a comment.
Type or paste a cron expression and it is read back as a sentence, such as At 02:30 on every day-of-week from Monday through Friday, with each of the five fields explained and the next five run times listed in your own time zone or in UTC. Ranges, steps, lists, month and day names, a leading seconds field and the @daily style macros are all understood, and mistakes are named: a value out of range, a backwards range, a missing field, a Quartz-only symbol or a date that never comes.
How it works
Cron Expression Explainer is a web page that does its work on your own device. Everything you type or choose is worked out by your browser and never sent to a server, so nothing is stored and there is nothing to delete. There is no account, no sign-up and no limit on how often you use it.
Straight to one job
Reading a cron line
Cron is the scheduler on Linux and macOS servers, and the same five-field format drives scheduled jobs in GitHub Actions, Kubernetes CronJobs, cloud schedulers and most job queues. The fields are, in order, minute, hour, day of month, month and day of week, and each holds a number, a name, a range such as 1-5, a step such as */15, or a list such as 1,15. This page turns the line into a sentence, explains each field on its own, and lists the next five times it will run, so you can see at a glance whether 0 9 * * 1-5 really means nine every weekday morning.
The traps
When both the day of month and the day of week are restricted, cron runs on days that match either, not both: 0 0 1 * 1 runs on the first of the month and on every Monday. The schedule uses the clock of the machine that runs it, which is often UTC on servers and in GitHub Actions, so the next runs can be shown in your time or in UTC. A day that never exists, such as 30 February, makes a job that never runs, and the page says so rather than showing an empty list. Sunday is both 0 and 7.
Six fields and macros
Some schedulers add a seconds field at the front; a six-field line is read that way. The macros @hourly, @daily, @weekly, @monthly and @yearly are expanded to their five-field form, and @reboot is explained as a start-up job with no clock schedule.
What this tool does not do
- It does not read Quartz-only symbols such as L, W and #, and says so when it meets them.
- It does not run or install jobs; it explains the line you give it.
- It does not know your server's time zone; pick UTC or your own time to match it.
What it does
- The expression in plain English as you type
- Every field explained on its own line
- Next five run times, in your time or in UTC
- Ranges, steps, lists, names, Sunday as 0 or 7
- Six-field lines with seconds, and @hourly to @yearly, @reboot
- Clear errors, including schedules that never run
- No upload, no account, no sign-up
Questions
What do the five fields 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 0 and 7 are both Sunday). A star means every value.
What does */15 mean?
Every 15th value from the start of the field: in the minute field, minutes 0, 15, 30 and 45. 9-17/2 means every second value from 9 through 17.
Why does my job run on more days than I expected?
When both the day of month and the day of week are restricted, cron runs when either matches. 0 0 1 * 1 runs on the first of each month and also every Monday.
Which time zone does cron use?
The clock of the machine running it. Servers, containers and GitHub Actions usually run on UTC, so switch the next runs to UTC to match.
Can it read a seconds field?
Yes. A line with six fields is read with seconds first, as Spring, Quartz-style and several job libraries use. Five fields are the classic crontab format.
What are @daily and @reboot?
Shortcuts: @hourly, @daily (or @midnight), @weekly, @monthly and @yearly (or @annually) stand for their five-field forms. @reboot runs once when the cron service starts.
Why does it say the job never runs?
The day and month never meet, as with the 30th of February or the 31st in a 30-day month. Cron accepts such lines but never fires them.
Is it free?
Yes, completely free, with no sign-up.


