Cron Generator🔒 100% local
Generate cron expressions. Privacy-first, no server uploads, no tracking.
Related Tools
Reads a cron expression and says what it means: a plain-English reading, the five fields broken out one by one, and the next dates it fires in UTC. A short list of words (every minute, hourly, daily, weekly, monthly, yearly) is accepted in place of an expression. Fields are checked for stray characters and out-of-range numbers before any output appears, and the schedule is evaluated inside the page.
How to use it
- Type the expression, or one of the shortcut words.
- Press Process.
- Read the Schedule line for the meaning and the run list to sanity-check the timing.
Worked example
0 9 * * *becomesExpression: 0 9 * * *
Schedule: Every day, at hour 9, at minute 0
Fields: minute=0 hour=9 day-of-month=* month=* day-of-week=*
Next 5 runs (UTC):
2026-09-28 09:00 UTC
2026-09-29 09:00 UTC
2026-09-30 09:00 UTC
2026-10-01 09:00 UTC
2026-10-02 09:00 UTCThe run list is built from the clock at the moment you press Process and is always in UTC, so the dates move; the Schedule and Fields lines do not.
0 0 1 1 *becomesExpression: 0 0 1 1 *
Schedule: at day 1 of at month 1, at hour 0, at minute 0 (Jan)
Fields: minute=0 hour=0 day-of-month=1 month=1 day-of-week=*
Next 5 runs (UTC):
2027-01-01 00:00 UTCOnly one run appears. The search stops after roughly a year, so a yearly schedule runs out of window before it can collect five dates.
When to use it
- You inherited a crontab line and want to know what it does without counting fields.
- You are reviewing someone else's expression in a pull request.
- You want to confirm that an every-N-minutes expression lands on the minutes you intended.
What it does not do
- The checks are shallow. A zero step such as */0, or a six-field expression, passes on shape alone and can still be wrong.
- Run times are UTC with no timezone switch, so a server clocked to local time can differ by hours from the list shown.
- Day-of-month and day-of-week are read with OR semantics and daylight saving transitions are ignored, so cross-check anything that must fire exactly once.