Cron expression generator

Write a cron schedule and see exactly when it runs.

0-59
0-23
1-31
1-12 or JAN-DEC
0-6 or SUN-SAT (7 is Sunday too)
At 09:00 AM, Monday through Friday

Next 10 runs

    Cron syntax cheat sheet
    FieldAllowed values
    Minute0-59
    Hour0-23
    Day of month1-31
    Month1-12 or JAN-DEC
    Day of week0-6 or SUN-SAT (7 is Sunday too)
    SymbolMeaning
    *Every value
    ,A list of values, like 1,15
    -A range, like 1-5
    /A step, like */15 for every 15th value

    Runs in your browser. Nothing you type is sent anywhere.

    How to write a cron expression

    1. Pick a preset, or type an expression with five fields.
    2. Fine-tune single fields in the boxes below it.
    3. Check the explanation and the next run times, then copy the expression.

    Common cron schedules

    ScheduleExpressionMeaning
    Every minute* * * * *Runs 60 times an hour
    Every 5 minutes*/5 * * * *At :00, :05, :10 and so on
    Every night at 2am0 2 * * *Once every 24 hours
    Weekdays at 9am0 9 * * 1-5Monday through Friday only
    First of the month0 0 1 * *Midnight on day 1
    Every 6 hours0 */6 * * *Midnight, 6am, noon, 6pm

    How cron differs between systems

    The 5-field format below is the one this generator builds, and it is also what most job schedulers use directly.

    SystemFieldsNote
    Standard cron / crontab5Minute, hour, day of month, month, day of week
    Kubernetes CronJob5Same format, quoted as a string in YAML
    GitHub Actions5Set under on.schedule.cron, always runs in UTC
    Quartz (Java)6 or 7Adds a seconds field before the minute
    AWS EventBridge6Adds a year field and uses ? for day of month or day of week

    Copy the expression from here into a Quartz or AWS schedule and add the extra field it expects; the minute, hour, day, month and day of week positions stay the same.

    Tips for writing cron schedules

    • Prefer a step over a long list: */15 * * * * is shorter and clearer than 0,15,30,45 * * * *.
    • Setting both day of month and day of week restricts less than it looks like it should: standard cron runs the job when either one matches, not only when both do.
    • Test a schedule here before pasting it into a server. A single wrong field can turn a daily job into one that fires every minute.
    • Servers usually run cron in UTC. The next-run list above is shown in your own time zone, so convert before assuming a job ran on time.

    Cron expression generator FAQ

    What do the five fields in a cron expression mean?

    From left to right: minute (0-59), hour (0-23), day of month (1-31), month (1-12) and day of week (0-6, where 0 is Sunday). An asterisk means every value, so * * * * * runs every minute.

    How do I run a cron job every 5 minutes?

    Use */5 * * * *. The /5 means every fifth value, so it runs at minutes 0, 5, 10 and so on, every hour of every day.

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

    Standard cron runs the job when either one matches. 0 0 1 * 1 runs at midnight on the 1st of every month and also on every Monday.

    Which time zone does cron use?

    The time zone of the server that runs it, which is often UTC. The run times on this page are in your own time zone, so convert them if your server is set differently.

    Does this format work for Kubernetes, GitHub Actions, Quartz or AWS?

    Kubernetes CronJobs and GitHub Actions schedules use this same 5-field format. Quartz adds a seconds field, and AWS EventBridge adds a year field and uses ? in one of the day fields, so those need adjusting.

    How do I run a job only on weekdays or only on weekends?

    Set day of week to 1-5 for Monday through Friday, or 0,6 for Saturday and Sunday. Leave day of month and month as * so they do not restrict anything further.

    What do shortcuts like @daily and @hourly mean?

    They are macros that some cron implementations accept instead of five fields. @hourly is 0 * * * *, @daily is 0 0 * * *, @weekly is 0 0 * * 0, @monthly is 0 0 1 * * and @yearly is 0 0 1 1 *. Type any of them into the expression box here and it expands automatically.

    Related tools