Key takeaways
- A cron expression sets when a recurring job runs, using five fields: minute, hour, day of month, month and day of week.
- Cron follows the server clock, so time zones and vendor formats such as Quartz are common sources of missed jobs.
- The free AyeTab Cron Parser explains a standard cron expression in plain English and lists its next run times.
A cron expression is a short line of text that tells a computer when to run a recurring task, written as five values for minute, hour, day of month, month and day of week. 0 7 * * 1 means "at 07:00 every Monday", and the quickest way to read one you did not write is to paste it into a free parser such as the AyeTab Cron Parser.
If you run a company, you rarely write these yourself. You do own what they control: the nightly backup, the invoice run, the weekly digest email, the data sync your finance team relies on. Knowing how to read one is a small skill with a large payoff when something did not happen on time.
Where the name comes from
Cron is the job scheduler built into Unix and Linux. Each user can keep a crontab, a file of lines that pair a schedule with a command. The schedule half is the cron expression. The same notation has since spread well beyond Linux servers: cloud schedulers, CI pipelines, serverless platforms and many SaaS tools ask for a cron expression when you set up a recurring job.
The five parts, in plain terms
| Part | Range | Example | Reads as |
|---|---|---|---|
| Minute | 0-59 | 30 |
at half past |
| Hour | 0-23 | 2 |
2 in the morning |
| Day of month | 1-31 | * |
any day |
| Month | 1-12 | * |
any month |
| Day of week | 0-7, Sunday is 0 or 7 | 1-5 |
Monday to Friday |
Put together, 30 2 * * 1-5 runs at 02:30 on weekdays. An asterisk means "every value". A comma lists values (1,15 for the 1st and 15th), a hyphen sets a range, and a slash sets a step (*/10 in the minute field means every ten minutes).
Why operators should care
Missed jobs are silent. Cron does not email you when a schedule is wrong. A report that should run monthly can run weekly, or never, and nobody notices until a customer does.
Time zones bite. Cron uses the server's clock. If that server is in UTC and your team is in New York, "9 in the morning" in the expression is not 9 in the morning for you. Crontab.guru's tips page advises running servers in UTC so schedules stay predictable through daylight saving changes.
Vendors differ. Some platforms use the Quartz format, which adds a seconds field at the start and sometimes a year at the end. A five-field line pasted into a six-field system will be read wrong.
How to check one in under a minute
Ask your engineer for the expression, or find it in the job's settings. Open the AyeTab parser and paste it. You get a sentence describing the schedule and a list of the next times it will run, shown in UTC. If the sentence does not match what you expected, you have found the problem before it cost anything.
AyeTab is free, needs no account and does the parsing inside your browser, so the text you paste is not uploaded. Engineers on your team can also install AyeTab's Chrome extension, which puts this and other everyday developer tools on the new tab page.
Other places to look
Crontab.guru, built by the team behind the monitoring service Cronitor, is a well-known site for the same job and keeps a long page of example schedules. If your real need is an alert when a scheduled job fails, a monitoring service is the right tool, not a parser. For understanding what a schedule says, AyeTab is the simplest place to start.
Frequently asked questions
What does * mean in a cron expression?
An asterisk means every allowed value for that field, so * in the hour field means every hour.
Is a cron expression the same as a cron job?
No. The expression is the schedule. The cron job is the schedule plus the command it runs.
Where can I check what a cron expression means?
Paste it into the AyeTab Cron Parser. It is free, needs no account and works in the browser.
Sources
- Cron Expression Parser Online: Explain CrontabAyeTab
- AyeTabAyeTab
- crontab(5) manual pageman7.org
- Cron tipsCronitor
- Quartz CronTrigger tutorialQuartz Scheduler