Cron expression explainer (crontab)

Paste a cron expression and understand it instantly: a plain-English explanation plus the next five run times calculated in your time zone. It supports the classic 5-field crontab syntax (minute, hour, day of month, month and day of week) with lists, ranges and steps, as well as the @hourly, @daily, @weekly, @monthly and @yearly aliases. If there is an error, it tells you exactly which field is wrong and which values it accepts. Everything happens in your browser: nothing is sent to any server.

Examples:

Next 5 runs

    The 5 fields

    FieldValues
    Minute0–59
    Hour0–23
    Day of month1–31
    Month1–12 · JAN–DEC
    Day of week0–7 · SUN–SAT (0 and 7 = Sunday)

    Symbols

    • * any value
    • , list (1,15)
    • - range (1-5)
    • / step (*/10)

    How to explain a cron expression

    1. Paste or type the cron expression (for example, */15 9-18 * * 1-5).
    2. Read the plain-English explanation that appears below the field.
    3. Check the next five run times, calculated in your time zone.
    4. If there is an error, the message tells you which field is wrong and which values it accepts.
    5. Use the one-click examples or the field and symbol reference as a guide.

    Frequently asked questions

    What is a cron expression?

    It is the syntax that cron, the job scheduler on Unix-like systems, uses to define when to run a command. It consists of five space-separated fields — minute, hour, day of month, month and day of week — and each line of the crontab file combines an expression with the command to run.

    What does each of 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 Sunday). An asterisk means “any value”. For example, “0 9 * * 1-5” runs at 9:00 from Monday to Friday.

    What do the *, comma, hyphen and slash symbols mean?

    The asterisk (*) accepts any value; the comma separates a list of values (1,15); the hyphen defines a range (1-5); and the slash defines a step (*/10 = every 10). They can be combined: “0-30/5” means every 5 units between 0 and 30.

    What happens if I set both the day of month and the day of week?

    That is cron's classic special case: when both fields are restricted (neither is *), the job runs when either of the two matches. “0 0 13 * 5” runs on the 13th of every month and also every Friday, not just on Fridays the 13th.

    What are @daily, @hourly and friends?

    Shorthand aliases from Vixie crontab: @hourly is equivalent to “0 * * * *”, @daily and @midnight to “0 0 * * *”, @weekly to “0 0 * * 0”, @monthly to “0 0 1 * *”, and @yearly or @annually to “0 0 1 1 *”. @reboot is different: it has no schedule and runs once when the system boots.

    In which time zone are the next run times calculated?

    In your browser's time zone, which is the one shown below the list. Keep in mind that on a server cron uses the system time zone (or the TZ/CRON_TZ variable in some implementations): if your server is in a different zone, the actual times will be its own.

    Does it support Quartz or Spring syntax (seconds, L, W, #)?

    No. This tool covers classic 5-field cron (the crontab of Linux and macOS). Quartz expressions — with a seconds field or the ?, L, W and # symbols — are detected and flagged with a warning so they are not mistaken for standard cron.

    Is my expression uploaded to any server?

    No. The parsing, the explanation and the run-time calculation all happen in your browser with JavaScript; nothing you type leaves your device and the tool works offline once loaded.