← All tools

Cron Expression Generator

Pick when the job should run — get the cron expression, what it means in plain English, and exactly when it fires next.

Runs entirely in your browser — nothing you enter leaves this page

on

Your cron expression

Next 5 runs (your local time — )

    Servers usually run cron in UTC or the machine's own timezone — GitHub Actions schedules, for example, are always UTC.

    Already have an expression and want it explained? Use the Cron Expression Parser to decode it into plain English.

    How the generated expression works

    A cron expression is five fields — minute, hour, day-of-month, month, day-of-week — where * means "any". This generator writes standard 5-field vixie cron, so the output works as-is in a crontab, a Kubernetes CronJob, or a GitHub Actions on: schedule: trigger. See our CI/CD with GitHub Actions guide for schedule-driven builds, and What is Kubernetes? for the cluster-side equivalent.

    Common cron schedule examples

    ExpressionMeaning
    * * * * *Every minute
    */15 * * * *Every 15 minutes
    0 * * * *Every hour, on the hour
    0 9 * * 1-5Weekdays at 09:00
    30 2 * * 0Sundays at 02:30
    0 0 1 * *First of every month at midnight
    0 0 1 1 *Once a year, January 1 at midnight

    Gotchas worth knowing

    Three things trip people up. First, timezones: the previews above use your browser's local time, but most servers (and all GitHub Actions schedules) run cron in UTC — a "9am" job lands at a different wall-clock hour than you expect. Second, monthly jobs on day 29, 30, or 31 simply don't fire in months that are shorter; schedule critical month-end work on day 28 or the 1st instead. Third, if you hand-edit an expression so that both day-of-month and day-of-week are restricted, cron runs the job when either matches, not both — decode any edited expression with the Cron Expression Parser before shipping it.