Skip to main content

cron-job-generator

Cron expressions are 5-field strings ("0 0 * * *") that schedule recurring tasks: minute, hour, day-of-month, month, day-of-week. Easy to misremember; one wrong asterisk turns "every day at midnight" into "every minute". The ZTools Cron Job Generator builds expressions visually: pick frequency from a list (every minute, hourly, daily, weekly, monthly, custom), get the canonical 5-field expression with explanation. Validates against standard Unix cron syntax. Useful for crontab, GitHub Actions, GitLab CI, Vercel cron, AWS EventBridge.

Use cases​

Schedule a daily backup​

"Every day at 2 AM" β†’ 0 2 * * *. Tool shows the expression + plain-English explanation.

Schedule weekly report​

"Every Monday at 9 AM" β†’ 0 9 * * 1.

Hourly task on weekdays​

"Every hour on weekdays" β†’ 0 * * * 1-5.

Custom complex schedules​

"Every 15 min from 9 AM to 5 PM on weekdays" β†’ */15 9-17 * * 1-5.

How it works​

  1. Pick frequency β€” Common scenarios as buttons (hourly, daily, weekly, etc.) or build custom.
  2. Set time β€” Hour / minute / day-of-week pickers fill the cron fields.
  3. Validate β€” Tool checks against standard cron syntax. Warns on common mistakes (e.g. day-of-month + day-of-week interaction).
  4. Output β€” 5-field expression + plain-English description + next 5 expected run times.

Examples​

Input: "Every day at 2 AM"

Output: 0 2 * * * β€” "minute=0 hour=2 every day". Next runs: tomorrow 2 AM, day after 2 AM, etc.


Input: "Every Monday at 9 AM"

Output: 0 9 * * 1 β€” "Monday=1". Next 5 Mondays at 9 AM.


Input: "Every 15 min weekdays 9-5"

Output: */15 9-17 * * 1-5.

Frequently asked questions​

Day-of-month vs day-of-week?

Cron interprets "day-of-month=15 AND day-of-week=1" with OR semantics in most implementations β€” runs on both. To AND them, use a script wrapper.

6 fields vs 5?

Some systems (Quartz, Spring) add a "seconds" field at the start β€” 6 fields total. Tool toggles between standard 5 and Quartz 6.

Time zone?

cron uses the system's local time zone. For UTC scheduling, set TZ=UTC in the crontab.

Privacy?

All in browser.

Tips​

  • Always test new cron expressions against the "next 5 runs" preview β€” confirms the schedule is what you expect.
  • For UTC/cross-timezone schedules, prefix crontab with TZ=UTC.
  • For very frequent jobs (every minute), consider whether cron is the right tool β€” message queues / event-driven systems often work better.
  • Validate with crontab.guru before deploying β€” independent verification.

Try it now​

The full cron-job-generator runs in your browser at https://ztools.zaions.com/cron-job-generator β€” no signup, no upload, no data leaves your device.

Open the tool β†—


Last updated: 2026-05-06 Β· Author: Ahsan Mahmood Β· Edit this page on GitHub