Skip to content

Cron Expression Generator

Build a cron schedule from simple choices or check one you have, with a plain-English explanation and the next run times.

Runs in your browser

Build a schedule

How often

minute · hour · day of month · month · day of week

Next runs

Show times in

    Field by field

    FieldValueMeans

    How to use the cron generator

    1. Pick how often the job should run and fill in the time, or choose Custom and type or paste an expression.
    2. Read the plain-English summary and the next run times to check it does what you meant. Mistakes are explained, field by field.
    3. Copy the expression into your crontab (crontab -e), followed by the command to run.

    The five fields

    A cron expression has five fields separated by spaces: 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 both 0 and 7 mean Sunday). In each field:

    • * means every value;
    • 1,15 is a list, and 1-5 a range;
    • */10 means every 10th value from the start, and 5/15 every 15th from 5;
    • shortcuts such as @daily, @hourly and @reboot stand for a whole expression.

    One rule surprises almost everyone: when both day of month and day of week are restricted, the job runs on days that match either. 0 0 13 * 5 runs on the 13th of every month and on every Friday, not only on Friday the 13th.

    Which cron is this?

    This tool follows standard Unix cron as implemented by Vixie cron and cronie, the cron on Debian, Ubuntu, Red Hat and most Linux servers. Other schedulers use similar but different syntax, so an expression that is valid here may not be valid there:

    • Kubernetes CronJob uses the same five fields; set the time zone with .spec.timeZone.
    • GitHub Actions uses five fields too, always in UTC, and does not run schedules more often than every 5 minutes.
    • AWS EventBridge adds a sixth field for the year and needs ? in one of the day fields.
    • Quartz and Spring start with a seconds field and support L, W and #, which standard cron does not. This tool reports them instead of guessing.

    Time zones

    Cron runs jobs in the time zone of the server (or of the crontab’s CRON_TZ/TZ setting), not yours. The next runs are shown in your browser’s time zone or in UTC; pick the one that matches the server. Around daylight-saving changes, cron implementations differ in how they handle times that are skipped or repeated, so avoid scheduling important jobs between 01:00 and 03:00 local time.

    Everything is calculated in your browser; nothing you enter is sent to this site.

    Further reading