Protego field desk

CRON Expression Parser & Builder

Translate CRON expressions to plain English. Preview the next 5 run times. Use presets for common schedules. Essential for DevOps, cloud engineers, and developers.

✓ Free✓ Next Run Preview✓ Plain English Output

Common Schedules

Minute (0-59)Hour (0-23)Day (1-31)Month (1-12)Weekday (0-6)

CRON Syntax Reference

CharacterMeaningExample
*Any / all values* in minute = every minute
/Step value*/15 in minute = every 15 minutes
-Range1-5 in weekday = Mon through Fri
,List of values1,3,5 in weekday = Mon, Wed, Fri

Azure & GitHub Actions CRON

GitHub Actions uses the same 5-field CRON format, evaluated in UTC. Azure Functions timer triggers add a leading seconds field (for example 0 0 0 * * * for daily at midnight). Examples:

  • 0 0 * * * (daily at midnight UTC)
  • 0 */6 * * * (every 6 hours)
  • 0 8 * * 1 (every Monday 8am)

Kubernetes CronJob

Kubernetes CronJobs use the same standard 5-field format. All times are in UTC by default.

  • */5 * * * * (every 5 minutes)
  • 0 3 * * 0 (every Sunday 3am)
  • 0 1 1 * * (first of month)

What the CRON Expression Parser does

The CRON Expression Parser translates a standard 5-field CRON expression (minute, hour, day of month, month, day of week) into plain English and lists the next 5 times the schedule will fire. You can type an expression, start from a preset such as every weekday at 6am, or build one field by field with the Visual Builder.

Everything runs in your browser, so you can paste schedules from crontabs, CI pipelines or Kubernetes CronJob manifests without sending them anywhere. It is useful for checking a schedule before you deploy it and for understanding an unfamiliar job you found on a server.

How to use it

  1. Click a Common Schedules preset, or type an expression such as 0 9 * * 1-5 into the CRON Expression field.

  2. Optionally open the Visual Builder and pick values from the dropdowns. The text field and the dropdowns stay in sync.

  3. Click Parse.

  4. Read the Plain English description, then check the Next 5 Scheduled Runs list to confirm the job fires when you expect.

Supported syntax: numbers, * (any), ranges such as 1-5, lists such as 1,3,5 and steps such as */15 or 0-30/10. Names like MON or JAN, macros like @daily, and special characters like L, W, # or ? are not supported.

Reading the results correctly

Time zones

Next run times are shown in your browser's local time zone. GitHub Actions schedules run in UTC, and many servers and clusters are set to UTC too, so convert before relying on the exact hour.

Day of month plus day of week

When both fields are restricted, cron runs when either one matches, and this preview follows that rule. For example, 0 9 1 * 1 runs at 09:00 on the 1st of every month and on every Monday, not only on Mondays that fall on the 1st. If one of the two fields is *, only the other one applies.

6-field formats

Azure Functions timer triggers use NCRONTAB with a leading seconds field, Quartz also starts with seconds, and AWS EventBridge uses its own 6-field syntax with a year field. This tool accepts 5 fields only, so remove the extra field and check the platform docs for differences.

A security angle

Attackers use cron jobs to keep access to Linux systems (MITRE ATT&CK technique T1053.003). If you find an unexpected crontab entry, especially one that downloads or runs a script, paste the schedule here to see how often it fires and investigate what it runs.

Frequently Asked Questions

What is a CRON expression?
A CRON expression is a string with 5 fields separated by spaces that defines a schedule: minute (0-59), hour (0-23), day of month (1-31), month (1-12), and day of week (0-6, where 0=Sunday). Special characters include * (any), / (step), - (range), and , (list).
What does */15 mean in CRON?
The */ syntax means "every X". So */15 in the minute field means "every 15 minutes". */2 in the hour field means "every 2 hours". This is called step values in CRON syntax.
How do I run a CRON job every weekday?
Use "0 9 * * 1-5" to run at 9am Monday through Friday. The "1-5" in the day-of-week field means Monday (1) through Friday (5). Sunday is 0 and Saturday is 6.
What is the difference between 5-field and 6-field CRON?
Standard CRON, used by Unix crontab, Kubernetes CronJobs and GitHub Actions, has 5 fields (minute, hour, day of month, month, day of week). Some schedulers add a sixth field: Azure Functions and Quartz put seconds first, and AWS EventBridge adds a year at the end. This tool handles standard 5-field CRON expressions.
Why are the next run times different from what my server does?
The preview uses your browser's local time zone, while servers and CI systems often run in UTC. Also check whether your scheduler follows standard Unix cron rules: this preview treats day of month and day of week as either-or when both are set, but some schedulers, such as Quartz, use their own rules.
Can I use names like MON or shortcuts like @daily?
No. The parser accepts numeric values only. Use 1 instead of MON, 1-5 instead of MON-FRI, and 0 0 * * * instead of @daily. Sunday is 0, and 7 is not accepted.
Can I check a schedule found in a crontab file?
Yes. Copy only the first 5 fields of the crontab line, not the user name or command that follows, and paste them into the expression field. The plain English description and run list show exactly when that job fires.