UtilitiesTools

Cron Expression Explainer

Paste a cron expression and instantly get a plain-English description plus the next run times. Parsing happens in your browser as you type — no account, no upload, no waiting.

Meaning

Next 5 run times (your local time)
    Common schedules — tap to load:

    🔒 Everything runs in your browser — your cron expression never touches a server. Nothing is uploaded or stored.

    What is the Cron Expression Explainer?

    The Cron Expression Explainer is a free online tool that takes a cron schedule and turns it into something you can actually read. Paste a line like 30 9 * * 1-5 and it tells you in plain English that the job runs at 09:30 on weekdays. On top of the description, it lists the next real run times calculated from the current moment, so you can compare the schedule against a calendar before you trust it in production. Cron syntax is famously easy to get wrong, and a single misplaced field can mean a backup never runs or a report fires every minute instead of once a day. This tool exists to remove that guesswork.

    How to use it

    1. Type or paste your cron expression into the input box, for example a line copied straight from a crontab file or a CI config.
    2. The tool parses it as you type. A valid expression produces a plain-English summary immediately; an invalid one shows a clear error naming the field that is wrong.
    3. Read the next run times below the description to confirm the schedule lines up with what you expect.
    4. Click any of the example schedules to load a common pattern into the input and learn from it.
    5. Copy the description with one tap when you want to paste it into a pull request, a ticket, or a comment above the cron line.

    The five-field cron syntax

    A standard cron expression has five fields separated by spaces. Each field controls one part of the schedule:

    FieldAllowed valuesMeaning
    Minute0 to 59Minute of the hour
    Hour0 to 23Hour of the day on a 24-hour clock
    Day of month1 to 31Calendar day
    Month1 to 12 or jan to decMonth of the year
    Day of week0 to 7 or sun to sat0 and 7 both mean Sunday

    Some schedulers, such as Quartz and certain container runtimes, add a sixth field at the front for seconds, ranging from 0 to 59. This tool detects a six-field expression automatically and explains it the same way.

    What the special symbols mean

    You can mix them freely. Combining a range with a step lets you express schedules like every two hours within working hours on weekdays.

    Examples

    Common use cases

    A note on day-of-month and day-of-week

    When both the day-of-month and the day-of-week fields are restricted at the same time, standard crontab runs the job when either one matches, not only when both do. This surprises many people. The explainer follows the same rule in both its description and its next-run math, so the preview matches exactly what your system will do.

    Why use this one

    Most cron explainers give you only a sentence. This one also shows the next real run times, so you can sanity-check the schedule against the calendar instead of trusting a description alone. It parses as you type, supports the optional six-field form with seconds, and gives specific errors that name the offending field. Everything runs in your browser, which means it is fast and your expression never touches a server. There is no signup and no rate limit. When you finish here, the related tools help with neighboring tasks: convert epoch times with the Unix Timestamp Converter, test patterns with the Regex Tester, or create identifiers with the UUID Generator.

    Frequently asked questions

    What does a cron expression look like?

    A standard cron expression has five fields separated by spaces: minute, hour, day-of-month, month, and day-of-week, for example "30 9 * * 1-5". This tool also accepts the optional six-field form where a leading field sets the seconds, which is used by schedulers like Quartz and some container cron implementations.

    What do the symbols *, /, -, and , mean?

    An asterisk (*) means every value of that field. A slash (/) sets a step, so */15 means every 15 units. A hyphen (-) defines a range, so 1-5 means one through five. A comma (,) lists individual values, so 1,15,30. You can combine them, for example 0-30/10 means 0, 10, 20, and 30.

    Are the next run times accurate to my timezone?

    Yes. The next run times are calculated using your browser's local timezone, exactly like cron would run on a machine set to that timezone. If your server uses UTC or a different zone, remember the actual runs follow that machine's clock, not your browser's.

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

    In standard crontab, when both the day-of-month and day-of-week fields are restricted, the job runs when EITHER one matches, not only when both match. This tool follows that OR behavior in both the description and the next-run calculation so the preview matches what cron actually does.

    Is my expression sent to a server?

    No. The parser and the next-run calculator run entirely in your browser with JavaScript. Your cron expression is never uploaded, stored, or logged, so it is safe to test internal job schedules without exposing them.