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
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
| Expression | Meaning |
|---|---|
* * * * * | Every minute |
*/15 * * * * | Every 15 minutes |
0 * * * * | Every hour, on the hour |
0 9 * * 1-5 | Weekdays at 09:00 |
30 2 * * 0 | Sundays 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.