Cron Expression Parser

Parse cron expressions with plain English explanations.

Format: minute hour day-of-month month day-of-week

0

Minute

9

Hour

*

Day of Month

*

Month

1

Day of Week

Runs at minute 0, hour 9, every day-of-month, on Monday.

How to use Cron Expression Parser

1

Paste Your Cron Expression

Copy your cron expression and paste it into the input field labeled 'Enter Cron Expression' at the top of the parser. Supported formats include standard 5-field (minute, hour, day, month, day-of-week) and 6-field expressions with seconds.

2

Click the Parse Button

Press the blue 'Parse Expression' button located directly below the input field. The tool will instantly validate your syntax and process the expression.

3

Read the Plain English Explanation

View the detailed breakdown in the 'Explanation' section showing what your cron expression does. The result displays the schedule frequency, next run times, and a human-readable description of the execution pattern.

4

Check Next Execution Times

Scroll to the 'Next Run Times' table to see the next 10 scheduled executions with exact dates and times. This helps verify your expression schedules tasks as intended.

5

Copy or Clear Results

Use the 'Copy Result' button to copy the explanation to your clipboard, or click 'Clear All' to parse a new cron expression.

Related Tools

Cron expression parser: translate cron schedules to plain English

Cron expression parser: translate cron schedules to plain English

Staring at a cron expression and not sure when it runs? ToolHQ's Cron Expression Parser translates any cron schedule to plain English and shows the next 5 scheduled run times. Free, browser-based, no account needed.

ToolHQ's Cron Expression Parser is a free browser-based tool that reads any cron expression, explains it in plain English, shows the next scheduled run times, and validates whether the syntax is correct.

Cron expressions are powerful but dense. A string like 0 9 * * 1-5 is not immediately readable to most people, and writing one from scratch for a specific schedule requires knowing the field order and valid value ranges. This tool removes that friction in both directions: paste an existing expression to understand it, or build a new one with the plain-English output confirming your intent.

Key Takeaways

  • Translates any cron expression to a plain-English description instantly
  • Shows the next 5 scheduled run times from the current moment
  • Validates syntax and flags errors with clear messages
  • Supports both 5-field Unix/Linux cron and 6-field formats (with seconds)
  • Runs in your browser, expressions are never sent to any server

What is a cron expression and how does it work

A cron expression is a string of fields that defines a recurring schedule for an automated task. According to Wikipedia's article on cron, cron is a time-based job scheduler in Unix-like operating systems. Users schedule commands or scripts (called "cron jobs") to run at fixed times, dates, or intervals.

The standard Unix cron expression has five fields:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ minute (0-59)
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ hour (0-23)
β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ day of month (1-31)
β”‚ β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ month (1-12)
β”‚ β”‚ β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ day of week (0-7, 0 and 7 both mean Sunday)
β”‚ β”‚ β”‚ β”‚ β”‚
* * * * *

Special characters:

  • * means "every" (every minute, every hour, etc.)
  • , separates multiple values: 1,3,5 means 1, 3, and 5
  • - defines a range: 1-5 means 1 through 5
  • / defines a step: */15 means every 15 units

For example:

  • 0 9 * * 1-5 runs at 9:00 AM every weekday (Monday through Friday)
  • */30 * * * * runs every 30 minutes
  • 0 0 1 * * runs at midnight on the first of every month
  • 0 12 * * 0 runs at noon every Sunday

The POSIX standard for cron syntax is defined in the IEEE Std 1003.1 specification. Some systems (like Quartz scheduler in Java) extend this with a sixth or seventh field for seconds and years.

ToolHQ's Cron Expression Parser handles both 5-field and 6-field formats.


When a cron expression parser saves you time

The parser is most useful in three situations.

Understanding someone else's cron job. You're reviewing a server configuration, a Dockerfile, a Kubernetes CronJob manifest, or a CI/CD pipeline file. There's a cron expression you didn't write and don't recognize. Paste it in and get the schedule in plain English immediately.

Verifying your own expression before deployment. You wrote a cron expression for a backup job, an email digest, or a database cleanup. You want to confirm it will run when you expect it to before deploying to production. The next-run-time list tells you exactly when the next five executions will occur.

Debugging a cron job that isn't running when expected. Paste the expression to confirm the schedule matches your intent. Often the issue is a simple misunderstanding of a field (e.g., 0 for day of week is Sunday, not Monday).

Mini-story: In October 2025, David, a DevOps engineer in Dublin, was investigating why a database backup cron job had been running at 2:00 AM every hour instead of just once per night. He pulled the expression from the crontab file: 0 * * * *. He pasted it into ToolHQ's Cron Expression Parser, which translated it as "at minute 0 of every hour." The intended expression was 0 2 * * * (at 2:00 AM every day). He corrected the expression and deployed the fix in under five minutes. The parser's plain-English output made the error immediately obvious.

Parse your cron expression now, free, in your browser


How to use ToolHQ's cron expression parser: step by step

Parsing a cron expression takes under 30 seconds.

  1. Open the tool. Go to https://www.toolhq.app/tools/cron-expression-parser. No login required.
  2. Paste your cron expression. Type or paste the expression into the input field. For example: 30 6 * * 1.
  3. Read the plain-English description. The parser immediately shows a human-readable translation: "At 6:30 AM, only on Monday."
  4. Review the next run times. The tool shows the next 5 (or more) scheduled executions from the current moment, which lets you verify the timing is what you expect.
  5. Check for errors. If your expression has invalid syntax, the parser flags the issue with an explanation of what's wrong.
  6. Adjust and re-parse. Edit the expression in the input field and the output updates instantly.

Your expression is processed entirely in your browser. Nothing is transmitted to any server.


Common cron expressions reference

Here is a quick reference for frequently used cron schedules:

Schedule Cron expression Description
Every minute * * * * * Runs every minute
Every 5 minutes */5 * * * * Runs every 5 minutes
Every hour 0 * * * * Runs at the start of every hour
Daily at midnight 0 0 * * * Runs once a day at 00:00
Daily at 9 AM 0 9 * * * Runs every day at 09:00
Weekdays at 9 AM 0 9 * * 1-5 Monday through Friday at 09:00
Weekly on Sunday 0 0 * * 0 Every Sunday at midnight
Monthly (1st) 0 0 1 * * First of every month at midnight
Annually 0 0 1 1 * January 1st at midnight

Mini-story: Yuki, a backend developer in Tokyo, was setting up a scheduled newsletter digest job in April 2026. She needed the job to run every Tuesday and Thursday at 7:30 AM. She wasn't sure of the exact syntax. She opened ToolHQ's Cron Expression Parser, typed her best guess (30 7 * * 2,4), and the parser confirmed: "At 7:30 AM, only on Tuesday and Thursday." The next-run-time list showed the upcoming executions with dates and times. She copied the expression directly into her Kubernetes CronJob manifest with confidence.

For related developer tools, pair this with the JSON Formatter for parsing configuration files, and the URL Encoder/Decoder for web-related development tasks. All developer tools are in ToolHQ's developer category.


Frequently asked questions

What are the valid values for each cron field?

Minute: 0-59. Hour: 0-23. Day of month: 1-31. Month: 1-12 (or Jan-Dec). Day of week: 0-7 (0 and 7 both represent Sunday). Special characters *, /, -, and, work in all fields.

What is the difference between 5-field and 6-field cron?

Standard Unix cron uses 5 fields (minute to day of week). Some systems like Quartz Scheduler add a sixth field for seconds at the beginning, making the format: second minute hour day month weekday.

Can cron expressions specify "last day of month"?

Standard cron doesn't have a built-in "last day of month" operator. Some extended implementations (Quartz, AWS EventBridge) add the L character for this purpose. Standard Unix cron doesn't support it.

Why isn't my cron job running when expected?

Common issues: timezone mismatch (the server runs in UTC, your expression is in local time), a field value out of range, or using both day-of-month and day-of-week constraints simultaneously (which behaves as OR, not AND in most implementations).

What is the ? character in cron expressions (AWS EventBridge, Quartz)?

Standard Unix cron uses * (every) for both day-of-month and day-of-week fields. Quartz Scheduler and AWS EventBridge use ? as a "no specific value" placeholder to avoid ambiguity: when you specify a day-of-week value (like MON), you must set day-of-month to ?, and vice versa. For example, in AWS EventBridge, "every Monday at 9 AM" is 0 9? * MON *, where ? replaces * in the day-of-month field to indicate you are only constraining by day-of-week. If you use * in both fields in Quartz or EventBridge, you get a validation error. This is a common source of confusion when converting a working Unix cron expression to AWS Lambda schedules or Quartz jobs.

Does the parser show times in my local timezone?

The next-run-time display typically uses the browser's local timezone. Your server's cron daemon uses the server's timezone, which may differ. Always confirm the timezone of the system running the job.


Conclusion: the short version

Cron expressions are dense by design. ToolHQ's Cron Expression Parser translates any cron schedule to plain English and shows the next five run times so you can verify your intent before deploying. It validates syntax, supports 5-field and 6-field formats, and runs entirely in your browser with no data transmitted anywhere. Free, no account required.

Stop guessing when your cron job will run. Paste the expression and know in seconds.

Parse your cron expression now, free, no account needed

For related developer tools, use the JSON Formatter to inspect config files, or the Hash Generator for checksum and integrity checks in your scripts. All in ToolHQ's developer section.