Crontab Generator

Build a cron expression from simple presets and fields, with a plain-English summary of when it runs — 100% in your browser, no upload.

Presets

Use * for any value, or ranges (1-5), lists (1,15) and steps (*/5).

Cron expression
0 9 * * 1-5

Summary: At 09:00, only on Monday through Friday.

🔒 Built in your browser — nothing is uploaded.

What this tool does

A crontab entry uses five fields — minute, hour, day of month, month, and day of week — to tell a Unix-style scheduler when to run a job. Getting the order and the wildcards right by hand is easy to fumble, so this generator lets you start from a preset such as "every minute", "hourly", "daily at 09:00", "weekdays at 09:00", or "monthly on the 1st", then fine-tune any field. As you edit, the tool assembles the five fields into a valid cron string and shows a plain-English summary like "At 09:00, only on Monday through Friday" so you can confirm the schedule means what you intended before pasting it into your crontab.

Understanding the five fields

Each field accepts a single value, a wildcard, or a small pattern. A star (*) matches every value, a range like 1-5 matches Monday through Friday, a list like 1,15 matches the 1st and 15th, and a step like */5 matches every fifth unit. Minutes run 0–59, hours 0–23, day of month 1–31, month 1–12, and day of week 0–7 where both 0 and 7 mean Sunday. The generator never rewrites what you type — it only joins the fields with spaces and applies a star to any field you leave blank — so the output matches the standard cron format expected by cron, Vixie cron, and most CI schedulers.

Frequently asked questions

What does an expression like 0 9 * * 1-5 mean?

It runs at minute 0 of hour 9 — that is 09:00 — on every day of every month, but only on days of the week 1 through 5, which are Monday through Friday. The tool shows this English summary automatically so you don't have to decode the fields yourself.

How do I run a job every few minutes or hours?

Use a step value. Put */5 in the minute field to run every 5 minutes, or */2 in the hour field to run every 2 hours. Steps combine with the other fields, so */15 in minutes with 1-5 in day of week runs every 15 minutes on weekdays.

Is anything I type uploaded to a server?

No. The schedule you build and the cron expression it produces are assembled entirely in your browser with JavaScript. Nothing is sent, logged, or stored anywhere — you can use it fully offline once the page has loaded.