Crontab Builder

100% private — runs on your device, never uploaded. Works offline once loaded.

Pick when a job should run using simple menus and get the exact 5-field cron expression plus a plain-English description of the schedule, updated live. Everything is built in your browser — nothing is sent to a server.

The five cron fields this builder writes

A standard Unix cron expression is five space-separated fields, always in the same order: minute (0–59), hour (0–23), day-of-month (1–31), month (1–12) and day-of-week (0–6, where 0 is Sunday). This builder maps each dropdown to one of those positions, so choosing At specific hour 9 and Weekdays produces 0 9 * * 1-5 — nine in the morning, Monday to Friday. An asterisk in any field means every value, which is why unset fields stay as *.

Rather than making you memorise the operators, the tool assembles them for you: step values become */N (as in */15 for every 15 minutes), ranges become 1-5, and lists become 0,6 for the weekend. You get valid syntax without hand-editing, and the live plain-English summary lets you confirm the schedule reads the way you intended before you paste it anywhere.

A sensible default that catches a common mistake

A frequent slip when writing cron by hand is picking an hour but forgetting the minute, leaving it as *. That produces a job that fires every minute of the chosen hour — sixty runs instead of one. When you select a specific hour but leave the minute on every minute, this builder automatically pins the minute to 0, giving the once-an-hour behaviour almost everyone actually wants. If you genuinely need every minute within an hour, switch the minute menu to a step or explicit value.

The plain-English line beneath the expression is there precisely so you can catch surprises like this at a glance, before a mis-scheduled job floods your logs or hammers an API.

The day-of-month and day-of-week OR trap

One of cron's oldest gotchas is how it combines the day-of-month and day-of-week fields. When both are restricted — neither is * — standard cron treats them as an OR, not an AND. So 0 0 15 * 1 does not mean the 15th only if it is a Monday; it runs on the 15th of every month and on every Monday. If you set both a specific date and a specific weekday in this builder, the summary adds a note reminding you of this behaviour so the schedule does not run far more often than expected.

Where these expressions run — and the timezone caveat

The 5-field syntax this tool emits is understood far beyond a Linux crontab. You can paste it into GitHub Actions schedule triggers, Kubernetes CronJobs, Jenkins build triggers, and many database and backup schedulers. A few platforms use variants — AWS EventBridge adds a seconds-like sixth field and Quartz prepends seconds — so always confirm how many fields your target expects.

Remember too that cron has no built-in timezone: it runs on whatever clock the host or platform uses, very often UTC. A schedule that looks correct in the expression can still fire at the wrong wall-clock time if you assumed local time, so check the executing system's timezone before trusting anything that must line up with a specific local hour.

Frequently asked questions

What does */5 in the minute field mean?

It means every 5 minutes — the step operator */N fires whenever the field value is divisible by N. So */5 in the minute position runs at :00, :05, :10 and so on throughout every hour.

How do I run a job only on weekdays?

Set the day-of-week menu to Weekdays, which produces 1-5 (Monday through Friday). Combine it with a specific hour and minute for something like a 9am weekday report.

Why did the tool set my minute to 0 automatically?

When you choose a specific hour but leave the minute on every minute, it pins the minute to 0 so the job runs once at the top of that hour instead of sixty times. Change the minute menu if you really want every minute.

Can I use the output in GitHub Actions or Kubernetes?

Yes. Both use the same 5-field syntax, so you can paste the generated expression straight into a schedule cron value or a CronJob spec.

Does cron understand my local timezone?

Not by itself. Cron runs on the host or platform clock, which is frequently UTC. If your schedule must match a local time, verify the executing environment's timezone or adjust the hour accordingly.

Is anything I enter sent to a server?

No. The cron expression and its description are generated entirely in your browser, so nothing you select is uploaded or stored.

Advertisement