JSONToonPro
Dev tool

Cron Expression Generator

Build a cron schedule field by field and read it back in plain English before you commit it to a server. Pick minutes, hours, days, and weekdays, and see the exact crontab expression along with a human-readable summary. Everything runs 100% client-side in your browser.

100% client sidePlain EnglishNo data sent
Cron expression

0

Minute

0-59

9

Hour

0-23

*

Day (month)

1-31

*

Month

1-12

1-5

Day (week)

0-6 (Sun-Sat)

This schedule runs

At 9:00, on Monday through Friday.

Common presets

What Cron Is

Cron is the job scheduler that has shipped with Unix systems for decades. You hand it an expression that describes when something should run, and it runs that thing on exactly that schedule, forever, without you thinking about it again. A cron expression is five fields separated by spaces, and each field controls one part of the timing.

FieldRangeWhat it means
Minute0 to 59The minute of the hour the job fires.
Hour0 to 2324-hour clock, so 0 is midnight and 13 is 1pm.
Day of month1 to 31Calendar date within the month.
Month1 to 121 is January, 12 is December.
Day of week0 to 6Sunday is 0 (and on many systems 7 too).

The Special Characters

Four symbols do most of the work inside those five fields. An asterisk means every value, so an asterisk in the hour field means every hour. A comma builds a list, so 1,15,30 in the minute field fires at three specific minutes. A hyphen makes a range, so 1-5 in the day-of-week field covers Monday to Friday. A slash sets a step, so */15 in the minute field means every fifteenth minute starting from zero.

Common expressions

ExpressionRuns
0 * * * *Every hour, on the hour.
0 0 * * *Every day at midnight.
0 9 * * 1-59am on weekdays, Monday through Friday.
*/5 * * * *Every 5 minutes.
0 0 1 * *Midnight on the 1st of every month.

The Day-of-Month vs Day-of-Week Gotcha

Here is the trap that surprises almost everyone. When you set both the day-of-month field and the day-of-week field to real values, most cron implementations run the job when either one matches, not when both do. So "0 0 13 * 5" does not mean the 13th only if it is a Friday; it means every 13th and every Friday. If you actually need both conditions to line up, you generally have to check the date inside the script itself.

Cron syntax reaches well past the original Unix crontab now. You will find the same five fields in CI pipeline schedules, GitHub Actions workflows, Kubernetes CronJobs, and the managed schedulers in every major cloud. Learn it once and the knowledge travels everywhere.

The generator above builds and explains expressions right in your browser, translating each field into plain English as you go so you can trust what you are about to schedule.

Need something else? Explore every developer tool in one place, all free and client-side.

Frequently asked questions

4 answers
A cron expression is five fields separated by spaces that tell the Unix cron scheduler when to run a job: minute, hour, day of month, month, and day of week. For example, 0 9 * * 1-5 means 9am on weekdays. This tool builds the expression for you and explains each field in plain English.

More JSON Tools