ToolNimbus

Cron Expression Parser

Paste a cron expression and get a clear, field-by-field breakdown of what it means, plus the next five times it will run. Presets for common schedules — every 15 minutes, hourly, weekdays at 8am — let you start fast, and every field is validated so you catch mistakes before they hit production.

FieldValueMeaning
Minute0At minute 0
Hour9At 09:00
Day of month*Every day of the month
Month*Every month
Day of week1-5Monday, Tuesday, Wednesday, Thursday, …

Next 5 runs (UTC)

  • Wed, 26 Aug 2026 09:00:00 GMT
  • Thu, 27 Aug 2026 09:00:00 GMT
  • Fri, 28 Aug 2026 09:00:00 GMT
  • Mon, 31 Aug 2026 09:00:00 GMT
  • Tue, 01 Sep 2026 09:00:00 GMT

How to Use

Type a standard 5-field cron expression (minute, hour, day-of-month, month, day-of-week) or click a preset. The tool shows a table explaining each field and lists the next 5 run times in UTC. Adjust the expression and the breakdown updates instantly.

Why This Tool Is Useful

Cron syntax is powerful but famously hard to read — five terse fields packed with asterisks, slashes, and ranges. A tiny mistake can make a job run every minute instead of once a day, or never run at all. This parser turns the expression into plain English and, crucially, shows the actual next run times so you can confirm the schedule does what you intended before you deploy it.

The Five Cron Fields

A standard cron expression has five fields separated by spaces: minute (0–59), hour (0–23), day of month (1–31), month (1–12), and day of week (0–6, where 0 is Sunday). Each field accepts an exact value, a range like 1-5, a list like 1,15,30, a step like */10 (every 10 units), or * for 'every'.

The Day-of-Month / Day-of-Week Rule

One quirk trips up almost everyone: when both the day-of-month and day-of-week fields are restricted (neither is *), cron runs when either matches, not both. So '0 0 1 * 1' runs at midnight on the 1st of the month AND every Monday. If you only want Mondays, leave day-of-month as *. This parser follows that standard behavior when computing next run times.

Steps, Ranges, and Lists

The field syntax combines a few building blocks:

  • * — every value (every minute, every hour, and so on).
  • */n — every n units, e.g. */15 in minutes = :00, :15, :30, :45.
  • a-b — a range, e.g. 1-5 in day-of-week = Monday to Friday.
  • a,b,c — a specific list of values.
  • Combine them: 0,30 9-17 * * 1-5 = every half hour, 9am–5pm, weekdays.

Common Cron Expressions

ExpressionMeaning
* * * * *Every minute
*/5 * * * *Every 5 minutes
0 * * * *Every hour, on the hour
0 0 * * *Every day at midnight
0 9 * * 1-59:00 AM, Monday to Friday
0 0 1 * *Midnight on the 1st of every month
0 0 * * 0Midnight every Sunday

Frequently Asked Questions

What is a cron expression?

It's a string of five fields that defines a repeating schedule for a task: minute, hour, day of month, month, and day of week. It's used by cron on Unix systems and by many schedulers and CI tools.

What does */5 mean?

The slash is a step. */5 in the minute field means 'every 5 minutes' — at minute 0, 5, 10, and so on. You can use steps in any field.

What's the difference between day-of-month and day-of-week?

Day-of-month is 1–31; day-of-week is 0–6 (0 = Sunday). If both are set, cron runs when either matches, which surprises many people.

What time zone are the next runs in?

This tool shows the next run times in UTC. Your actual server may use a different zone, so adjust for the offset where your cron job runs.

Does 0 mean Sunday or is it 7?

In the day-of-week field, 0 is Sunday. Many cron implementations also accept 7 for Sunday; this parser treats 7 the same as 0.

Why does my job never run?

Usually an impossible combination, like a day-of-month that doesn't exist in the chosen month. Check the 'next runs' list — if it's empty, the schedule can't be satisfied.

Related Tools