Crontab generator
Validate and generate crontab and get the human-readable description of the cron schedule.
About Crontab generator
Cron is the scheduling format used on Unix and Linux. Five (or six) fields describe when a job should run. This tool validates the expression, translates it into plain language and lists the next executions, so you can check a schedule before putting it in a crontab.
When you would use it
- Setting up periodic backups, log rotation or data sync on a server and wanting to confirm the schedule behaves as intended.
- Reading a cron expression left behind by a colleague or an old project and wondering how often it actually fires.
- Scheduling GitHub Actions, Kubernetes CronJobs or Cloudflare Workers, which all use the same syntax.
How to use it
- Type an expression in the field at the top, or build one with the dropdowns below and apply it.
- Read the plain-language line in the middle and check it matches what you meant.
- Pick a timezone under "Next executions" and verify the five upcoming times.
Things worth knowing
- The five-field form is "minute hour day-of-month month day-of-week". The six-field form adds seconds at the front. Most server crontabs only accept five fields; the seconds field is common in application-level schedulers.
- Sunday can be written as 0 or 7, both are equivalent. The "days start at 0" switch only changes the wording of the description, not the expression.
- Timezone matters. A server crontab usually runs in the system timezone, often UTC, rather than yours, so check with the timezone selector.
- @reboot runs once at startup and has no recurring schedule, so no execution times are listed for it.
Frequently asked questions
- How do I run something every 15 minutes?
- Use */15 * * * *. The slash means a step, so it fires at minutes 0, 15, 30 and 45 of every hour.
- Why does my job run at a different time on the server than shown here?
- Almost always a timezone difference. Check the server timezone with the date command and switch the selector above to match. The other common cause is that a crontab has a different PATH than your login shell, so the command is never found and never really runs.