130 of 149 tools live Roadmap LatestImage to Text

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.

Field by field
Next runs
    Syntax
    *any value
    5exactly 5
    1-51 through 5
    */15every 15th, from the start
    1,151 and 15
    9-17/2every 2nd from 9 through 17
    MON-FRInames for days and months
    0 or 7both mean Sunday
    @dailyalso @hourly, @weekly, @monthly, @yearly, @reboot
    6 fieldsa leading seconds field is read too

    Worked 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

    Takes about 1 minute. You need a cron expression.

    1. Paste the expressionType it in the box or click one of the examples. The sentence appears at once.
    2. Check the fieldsThe table explains minute, hour, day of month, month and day of week one at a time.
    3. 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.
    Cron Expression Explainer: Turn a cron line into a sentence and see exactly when it will run next.

    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.

    More

    Privacy policy · Support · Changelog

    Suggest a tool

    Tell us what the tool should do. If we build it, we will let you know.

    Used only to reply to you. See our Privacy Policy.