Candid Tools

Cron Expression Checker

Cron Checker explains a Unix, Quartz, Spring or AWS cron expression in plain English and lists its next 10 run times, entirely in your browser.

Read as:
Examples
30 * * * *

Every hour, at 30 minutes past the hour

Read as Unix cron (auto-detected): minute hour day-of-month month day-of-week.

FieldValueMeans
Minute3030
Hour*every hour
Day of month*every day
Month*every month
Day of week*every day of the week

Next 10 runs

Calculating in your browser...

  1. 1 
  2. 2 
  3. 3 

At a glance

Accepts
A cron expression
Outputs
The next 10 run times in your local timezone
Where it runs
Entirely in your browser, on your device
What leaves your device
Nothing - what you type stays in this tab
Limits
Shows the next 10 runs; uses your browser's timezone
Account
Not required - there is no sign-up
Price
Free, with no watermark and no usage cap
Made by
Visrut
Last updated
8 October 2026

What does 0 0 * * * ? mean?

0 0 * * * ? means every hour, on the hour. It's Quartz syntax (Spring accepts it too) with seconds first: second 0, minute 0, every hour, every day of the month, every month, and ? for "no specific day of week". 0 * * * * ? is every minute at second 0, and 0 0 * * * ? * adds Quartz's optional year field (every year), so it's still hourly. In a Linux crontab, GitHub Actions or Kubernetes, which have no seconds field, the hourly schedule is 0 * * * *. More on that on the 0 0 * * * ? page.

Four cron dialects, one checker

The same characters mean different things depending on where the expression runs, so the checker shows which dialect it assumed and lets you switch:

A 6-field expression with ? is read as Quartz first. If it uses day-of-week numbers and is really for Spring, click Spring: 2 is Monday in Quartz but Tuesday in Spring.

How to use it

  1. Paste an expression, or click an example.
  2. Click Calculate. You get a plain-English description, a field-by-field table, warnings about this exact expression, and the next 10 runs.
  3. Check the dialect line under the description and switch it if the guess is wrong.
  4. Flip between your timezone and UTC to see when a server or CI runner will actually fire it.

Want a syntax refresher? See the cron cheat sheet.

Common schedules

Each page has the expression in Unix, Quartz/Spring and AWS form, the next runs, and the pitfalls specific to that schedule.

Frequently asked questions

What is the frequency of the cron expression 0 0 * * * ?

Every hour, on the hour (minute 0, second 0), 24 times a day. It's Quartz or Spring syntax: the first field is seconds, and the ? in the last field means no specific day of week. The Unix cron version is 0 * * * *.

What is the frequency of 0 * * * * ?

Every minute, at second 0. In Quartz and Spring the leading 0 is the seconds field. Be careful not to write * * * * * ?, which runs every second.

What does 0 0 * * * ? * mean?

The same as 0 0 * * * ?: every hour on the hour. The seventh field is Quartz's optional year, and * means every year.

How does the checker know which cron format I typed?

By the number of fields and the syntax. Five fields is Unix cron, seven is Quartz (the only one with a year after seconds), and cron(...) is AWS EventBridge. Six fields could be Quartz, Spring or AWS, so it picks the first that parses, in that order, and offers the others as a switch.

Why do Quartz and Unix cron disagree about day-of-week numbers?

Unix cron and Spring count 0 (or 7) as Sunday and 1 as Monday. Quartz and AWS EventBridge count 1 as Sunday and 2 as Monday. Using day names such as MON-FRI avoids the difference.

Is my cron expression sent to a server?

No. Parsing, the description and the run times are all calculated in your browser. Nothing you type is sent anywhere.

What timezone are the run times shown in?

Your browser's timezone by default, with a UTC toggle. GitHub Actions uses UTC unless you set a timezone, so the UTC view is the one to check for workflows.