0–59
everyfrom

0–23

1–31

1–12 or JAN–DEC

0–7 (0 and 7 = Sunday) or SUN–SAT

Common schedules

How to write it in Linux crontab

*/5 * * * * /path/to/command
  • 100% Free
  • No Sign-Up
  • No Credit Card
  • No Free Trial
  • No Pro Tier
  • No Watermarks

Nothing is uploaded. Just open it and start.

Build and understand cron expressions

Free, no sign-up, no credit card, no trial. Enter a cron expression for crontab, Quartz, Spring, GitHub Actions, Kubernetes or AWS, or build one field by field, to see what it means in plain English, when it next runs in any time zone, and how each field breaks down.

Six schedulers, one parser

Crontab, GitHub Actions, Kubernetes, Quartz, Spring and EventBridge, explained field by field.

Runs in any time zone

The next 5–50 runs and a month calendar, with skipped and doubled clock-change times marked.

Visual builder

Every, every N, specific or between for each field, presets, and whole crontab files explained.

Private & client-side

Nothing leaves your browser. No server round trip, ever.

Frequently asked questions

What is a cron expression?
A short string that tells a scheduler when to run a job. Linux crontab uses five fields: minute, hour, day of month, month and day of week, so "0 9 * * 1-5" means 09:00 on weekdays. Quartz and Spring add a seconds field at the front, and Quartz and AWS EventBridge can add a year at the end.
Which schedulers does it understand?
Linux crontab, GitHub Actions, Kubernetes CronJob, Quartz, Spring @Scheduled and AWS EventBridge. Each is checked with its own rules: the number of fields, whether Sunday is 0 or 1, ?, L, W and # where they're allowed, @daily-style shortcuts, and notes such as GitHub's 5-minute minimum. Switching scheduler rewrites the expression for it.
How do I read the fields?
The field-by-field table shows each field's value, its allowed range and exactly what it means, for example 10-50/15 in minutes is minutes 10, 25 and 40. The sentence, the table and the next run times all come from one parser, so they always agree.
What does it mean when both day fields are set?
In crontab, when both day of month and day of week are restricted, the job runs when either matches: "0 9 1 * 1" runs on the 1st and on every Monday. Spring needs both to match, and Quartz and EventBridge need "?" in one of them. The page says which rule applies.
Does it show when the job actually runs, in my time zone?
Yes: the next 5 to 50 runs in your time zone or any other, and a month calendar with runs per day. Runs that fall in the hour the clocks skip, or happen twice when they go back, are marked. GitHub Actions and EventBridge rules always use UTC, so the zone is fixed for them.
Can I build a schedule without knowing the syntax?
Yes. Each field has a picker (every, every N, specific values, between) with day and month buttons, and the presets cover the usual schedules. You can also clear a field and type a new value; nothing else in the expression changes.
Why does it say my schedule never runs?
Some valid-looking expressions can't happen, such as day 30 in February or a year that has passed. Instead of a cryptic error the page says the schedule never runs and why.
Can it explain a whole crontab file?
Yes. Choose Crontab file and paste the output of crontab -l, /etc/crontab or a file from /etc/cron.d. Comments are skipped, variables like CRON_TZ are applied, and each job gets a sentence and its next run.
Can I share a schedule?
Copy link puts the expression, scheduler and time zone in the link's # part, which never reaches a server. Each run also links to the Unix Timestamp Converter.
Is anything sent to a server?
No. Parsing, explanations and run times are all worked out in your browser. Nothing is uploaded or stored. It's free with no sign-up.

Spotted a bug or have a suggestion?

Found something broken, have an idea, or just want to say thanks about any of our tools? Every message reaches a real person.