Free tool

Free cron expression builder and explainer

Type a cron expression to read it in plain English and see when it runs next, or build one from presets. It runs in your browser, nothing is uploaded.

Format: minute hour day-of-month month day-of-week. Shortcuts like @daily also work.

Next 5 runs (time zone: )

    Field by field


    Build one from a preset

    Quick picks:

    How to use it

    1. Type or paste an expression such as */15 9-17 * * MON-FRI. Click Load example to try that one.
    2. Read the explanation and check the next five run times, shown in your local time zone.
    3. Or use the builder: pick a preset like “every weekday at 09:00” and the expression is written for you.

    How to read and write cron expressions

    Cron is the scheduler built into Linux and macOS, and its five-field format is used almost everywhere that runs jobs on a timetable: hosting control panels, CI systems, cloud schedulers and container platforms. Once you know the five fields, you can read and write any schedule in a few seconds, and this page checks your work as you type.

    FieldAllowed valuesExample
    Minute0–5930 = at minute 30
    Hour0–239-17 = from 09:00 to 17:59
    Day of month1–311,15 = on the 1st and 15th
    Month1–12 or JAN–DEC*/3 = every 3rd month
    Day of week0–7 or SUN–SATMON-FRI = weekdays

    The four special characters

    • * means every value of that field.
    • , makes a list: MON,WED,FRI.
    • - makes a range: 9-17.
    • / adds a step: */10 is every 10, and 0-30/10 is 0, 10, 20 and 30.

    Common schedules

    Every five minutes is */5 * * * *. Every day at 02:30 is 30 2 * * *. Weekdays at 08:00 is 0 8 * * 1-5. The first of the month at midnight is 0 0 1 * *. Sunday at noon is 0 12 * * 0.

    Mistakes that cost people a night’s sleep

    Writing * 9 * * * when you meant 09:00 once a day, because the minute field set to * runs the job every minute of that hour. Forgetting that cron uses the server’s time zone, which is often UTC. And scheduling day 31 or day 30 in February, which simply never fires. The preview of upcoming runs is the quickest way to catch all three.

    FAQ

    Questions people ask

    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 or JAN–DEC) and day of week (0–6 or SUN–SAT, where 0 and 7 both mean Sunday). An asterisk means every value.

    What does */5 mean?

    It means every 5th value, starting from the first. In the minute field, */5 runs at minutes 0, 5, 10 and so on. A range with a step, such as 9-17/2 in the hour field, means every second hour from 09:00 to 17:00.

    What happens when I set both day of month and day of week?

    Standard cron runs the job when either one matches, not both. So 0 0 13 * 5 runs on every 13th and on every Friday. To get only Friday the 13th you need a check inside the script.

    Does this support seconds, L, W or # (Quartz and Spring)?

    No. This is standard 5-field cron as used by Linux crontab, most hosting panels, GitHub Actions and Kubernetes CronJobs. Six-field expressions with seconds belong to Quartz-style schedulers.

    Need a script worth scheduling? We write Python automations that fetch, clean and report on your data, ready to run on a cron job or a server.

    See Python automation