Crontab Expression Builder

Build and read cron schedules field by field.

Build a crontab expression field by field with presets and a plain-English summary, or read an existing one. Covers minute, hour, day, month and weekday with ranges, lists and steps. Runs entirely in your browser, nothing is uploaded. It runs free in your browser on Gera Tools, with nothing uploaded.

Last updated Source: Gera Tools

What do the five cron fields mean?

In order they are minute (0–59), hour (0–23), day of month (1–31), month (1–12) and day of week (0–6, where 0 is Sunday). An asterisk means every value for that field.

A cron expression schedules recurring tasks — backups, reports, cleanups — on Unix-like systems. This builder lets you assemble a valid five-field cron schedule one field at a time, or start from a preset, and shows a plain-English summary so you can be sure it does what you intend before pasting it into a crontab.

How it works

A standard cron expression has five space-separated fields, read left to right:

FieldRangeMeaning
Minute0–59minute of the hour
Hour0–23hour of the day
Day of month1–31day of the month
Month1–12month of the year
Day of week0–60 = Sunday

Each field accepts * (every value), a single number, a list (1,15), a range (1-5), or a step (*/5). The builder validates each entry against its range, flags out-of-range values, and translates the whole expression into a sentence as you type.

Building common schedules

To run a job at 9:00 every Monday:

0 9 * * 1 → “At 09:00 on Monday”

Other common patterns:

ExpressionWhat it does
*/5 * * * *Every 5 minutes
0 0 * * *Daily at midnight
0 0 1 * *First of every month at midnight
0 8-18 * * 1-5Every hour from 08:00 to 18:00 on weekdays
15 3 * * 003:15 every Sunday

Reading your crontab — common gotchas

Day-of-week numbering: 0 and 7 both mean Sunday in most Unix implementations, so 0 9 * * 0 and 0 9 * * 7 are equivalent. Some CI tools number Monday as 1 and Sunday as 7 in ISO order — the builder names the day in its English summary so you can confirm.

Both day fields set at once: when both day-of-month and day-of-week are not *, standard cron fires when either matches, not both. 0 9 15 * 1 fires at 09:00 on every 15th of the month and at 09:00 every Monday. To fire only on, say, Mondays that fall on the 15th, you need to handle that logic inside the job itself.

Time zones: the cron daemon uses the server’s local time. Most cloud servers run UTC, so a job you intend to fire at 09:00 local time should be offset accordingly. For example, UTC+5:30 (IST) means writing 30 3 * * * to trigger at 09:00 IST.

Minimum resolution: standard cron fires at most once per minute. Sub-minute scheduling requires a different tool or a sleep loop inside the job.

Where to paste the expression

Copy the finished five-field string directly into:

  • /etc/cron.d/ files or crontab -e on Linux/macOS
  • The schedule: key in GitHub Actions workflows
  • The spec: field of a Kubernetes CronJob manifest
  • Cloud scheduler consoles (GCP Cloud Scheduler, Azure Logic Apps, etc.)

Everything runs in your browser; nothing is uploaded.