Cron Expression Humanizer
A cron expression humanizer converts cron schedule syntax into plain English. Paste any 5-field or 6-field cron expression below to see what it means, with a field-by-field breakdown and upcoming run times.
How Cron Expressions Work
A cron expression is a string of five fields separated by spaces. Each field controls a unit of time. Together, they define a recurring schedule.
│ ┌───────────── hour (0-23)
│ │ ┌───────────── day of month (1-31)
│ │ │ ┌───────────── month (1-12)
│ │ │ │ ┌───────────── day of week (0-6, Sunday=0)
│ │ │ │ │
* * * * *
Each * means "every" for that field. So * * * * * means "every minute of every hour of every day." Replace a field with a specific value to narrow the schedule: 0 9 * * * means "at minute 0 of hour 9, every day" — in other words, 9:00 AM daily.
Reading Tip
Read cron expressions right to left, starting from the most specific non-* field. For 30 4 1,15 * *:
- Day of week:
*→ any day of the week - Month:
*→ every month - Day of month:
1,15→ on the 1st and 15th - Hour:
4→ at 4 AM - Minute:
30→ at minute 30
Result: At 4:30 AM on the 1st and 15th of every month.
Common Examples
Click any example to load it into the humanizer:
* * * * *
Every minute
0 * * * *
Every hour
0 0 * * *
Daily at midnight
0 9 * * 1-5
Weekdays at 9 AM
0 0 * * 0
Every Sunday
0 0 1 * *
First of every month
*/15 * * * *
Every 15 minutes
*/5 * * * *
Every 5 minutes
0 0 1 1 *
Every January 1st
30 4 1,15 * *
1st and 15th at 4:30 AM
0 22 * * 1-5
Weekdays at 10 PM
0 9,18 * * *
Twice daily (9 AM, 6 PM)
Cron Syntax Reference
A standard cron expression has 5 fields: minute hour day-of-month month day-of-week
Special Characters
| Symbol | Meaning | Example | What It Does |
|---|---|---|---|
* |
Every value | * * * * * |
Every minute |
, |
List of values | 0 9,18 * * * |
At 9 AM and 6 PM |
- |
Range | 0 9-17 * * * |
Every hour from 9 AM to 5 PM |
/ |
Step | */10 * * * * |
Every 10 minutes |
Field Ranges
| Field | Allowed Values | Notes |
|---|---|---|
| Minute | 0-59 | |
| Hour | 0-23 | 0 = midnight, 12 = noon |
| Day of Month | 1-31 | |
| Month | 1-12 (or JAN-DEC) | |
| Day of Week | 0-6 (or SUN-SAT) | 0 and 7 both mean Sunday |
Combining Characters
You can combine special characters for precise schedules:
1-5→ values 1, 2, 3, 4, 5 (range)*/15→ every 15th value from the minimum (step from start)1,15,30→ specific values 1, 15, and 30 (list)10-30/5→ every 5th value from 10 to 30: 10, 15, 20, 25, 30 (range with step)
Common Mistakes When Reading Cron
- Hour 24 does not exist. Midnight is hour
0, not24. 11 PM is23. - Day-of-week numbering. Sunday is
0(or7). Monday is1. Some Java-based systems (Quartz) number differently — always verify with your platform. - OR logic for day fields. If both day-of-month and day-of-week are set to non-
*values, standard cron runs when either matches.0 0 15 * 1runs on the 15th and every Monday, not just Mondays that are the 15th. - Step values stay within fields.
*/90in the minute field does not work as "every 90 minutes" because minutes only go to 59. You need two separate entries for schedules like every 90 minutes. - Time zone assumptions. Cron uses the server's time zone (often UTC on cloud servers), which may not match your local time.
5-Field vs. 6-Field Cron
Standard Unix cron uses 5 fields. Some systems add a seconds field at the beginning, making it 6 fields:
6-field (extended): second minute hour day month weekday
Systems that use 6-field cron include Quartz (Java), Spring @Scheduled, and AWS EventBridge. This humanizer detects 6-field expressions automatically and parses them correctly.
Tip: Count the fields first. If there are 6, the first one is seconds.
Frequently Asked Questions
What is a cron expression humanizer?
A cron expression humanizer is a tool that converts cron schedule syntax into plain English. Instead of reading 30 4 1,15 * * and figuring out the meaning, a humanizer tells you "At 4:30 AM on days 1 and 15 of every month." This helps developers verify that their cron schedules do what they expect.
How do I read a cron expression?
A standard cron expression has five fields: minute (0-59), hour (0-23), day of month (1-31), month (1-12), and day of week (0-6, where 0 is Sunday). Read from right to left, starting with the most specific non-asterisk field. For example, 0 9 * * 1-5 means "at 9:00 AM, Monday through Friday."
What does * mean in a cron expression?
The asterisk (*) means "every possible value" for that field. In the minute field, * means every minute (0-59). In the day-of-week field, * means every day. So * * * * * means "every minute of every hour of every day."
What does */5 mean in cron?
The /5 is a step value meaning "every 5th." In the minute field, */5 triggers at minutes 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, and 55. The * before the slash means "starting from the minimum value." You can also write 10-30/5 to mean every 5th minute from 10 to 30.
What cron expression runs every 5 minutes?
Use */5 * * * *. The */5 in the minute field means every 5th minute, running at :00, :05, :10, :15, :20, :25, :30, :35, :40, :45, :50, and :55 of every hour.
What does 0 0 * * 0 mean?
This means "at midnight (00:00) every Sunday." Minute 0, hour 0, any day of month, any month, day of week 0 (Sunday).
What is the difference between 5-field and 6-field cron?
Standard Unix cron uses 5 fields (minute, hour, day, month, weekday). Some platforms add a seconds field at the beginning, making it 6 fields. Quartz (Java), Spring, and AWS EventBridge use this extended format. Count the fields to determine which format you're looking at.
Is day 0 Sunday or Monday in cron?
In standard Unix cron, 0 is Sunday and 6 is Saturday. The value 7 is also accepted as Sunday on most systems. Quartz-based systems may number differently, so always check your platform's documentation.
What does the comma mean in cron expressions?
The comma (,) separates a list of specific values. For example, 1,15 in the day-of-month field means the job runs on the 1st and 15th. You can list as many values as needed: 0 9 1,10,15,25 * * runs at 9 AM on the 1st, 10th, 15th, and 25th.
What does the hyphen mean in cron expressions?
The hyphen (-) defines a range of values. For example, 1-5 in the day-of-week field means Monday through Friday. In the hour field, 9-17 means every hour from 9 AM to 5 PM. Ranges are inclusive of both endpoints.
What time zone does cron use?
By default, cron uses the server's local time zone. On most cloud servers, this is UTC. You can override this with the CRON_TZ variable in your crontab on systems that support it. The "next runs" shown by this tool use your browser's local time zone.
Does this tool store my data?
No. All processing happens entirely in your browser using JavaScript. Your cron expressions are never sent to any server. You can verify this by using the tool offline after the page loads.
Related Tools
- Crontab Generator — build cron expressions visually with presets and see next run times
- Cron Job Schedule Validator — validate your cron expression and see when it will run next
- Unix Timestamp Converter — convert between Unix timestamps and human-readable dates
- Time Zone Converter — convert times between time zones to set cron schedules correctly
- Understanding Cron Expressions — complete guide to reading, writing, and debugging cron schedules
Privacy & Limitations
- Client-side only. No data is sent to any server. No cookies, no tracking of expressions entered.
- Standard and extended cron. This tool supports 5-field (standard Unix) and 6-field (with seconds) cron expressions. Non-standard extensions like
L(last),W(weekday), and#(nth occurrence) used by Quartz are not supported. - Next runs use your local time zone. The upcoming run times shown are calculated in your browser's time zone. Your server's cron daemon may use a different time zone (often UTC).
- Descriptions are approximate. The plain English description covers the most common patterns. Complex expressions with combined ranges, lists, and steps may produce simplified descriptions. Always verify with the "next runs" output.
Related Tools
View all toolsBig-O Notation Visualizer
Interactive plot of O(1) through O(n!) complexity curves with operation count comparison
JSON Formatter
Format and beautify JSON with proper indentation
JSON Validator
Validate JSON syntax and show errors
CSV to JSON Converter
Convert CSV data to JSON format with auto-detection
JSON to CSV Converter
Convert JSON arrays to CSV format with nested object handling
JWT Decoder
Decode JWT tokens and display header and payload
Cron Expression Humanizer FAQ
What is a cron expression humanizer?
A cron expression humanizer is a tool that converts cron schedule syntax into plain English. Instead of reading '30 4 1,15 * *' and figuring out the meaning, a humanizer tells you 'At 4:30 AM on days 1 and 15 of every month.' This helps developers verify that their cron schedules do what they expect.
How do I read a cron expression?
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). Read from right to left, starting with the most specific non-asterisk field. For example, '0 9 * * 1-5' means 'at 9:00 AM, Monday through Friday.'
What does * mean in a cron expression?
The asterisk (*) means 'every possible value' for that field. In the minute field, * means every minute (0-59). In the day-of-week field, * means every day of the week. So '* * * * *' means 'every minute of every hour of every day.'
What is the difference between 5-field and 6-field cron?
Standard Unix cron uses 5 fields: minute, hour, day of month, month, and day of week. Some systems like Quartz (Java), Spring, and AWS EventBridge add a sixth field for seconds at the beginning. If you see 6 fields in a cron expression, the first is likely seconds. This humanizer supports both formats.
What does */5 mean in cron?
The /5 is a step value meaning 'every 5th.' In the minute field, */5 triggers at minutes 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, and 55. The * before the slash means 'starting from the minimum value.' You can also write 10-30/5 to mean every 5th minute from 10 to 30 (10, 15, 20, 25, 30).
What does 0 0 * * 0 mean?
This cron expression means 'at midnight (00:00) every Sunday.' The fields break down as: minute 0, hour 0, any day of month, any month, day of week 0 (Sunday).
What cron expression runs every 5 minutes?
Use */5 * * * *. The */5 in the minute field means every 5th minute. This runs at :00, :05, :10, :15, :20, :25, :30, :35, :40, :45, :50, and :55 of every hour.
Is day 0 Sunday or Monday in cron?
In standard Unix cron, 0 is Sunday and 6 is Saturday. The value 7 is also accepted as Sunday on most systems. Some Java-based systems (like Quartz) use 1 for Sunday and 7 for Saturday, so always check your platform's documentation.
What does the comma mean in cron expressions?
The comma (,) separates a list of specific values. For example, 1,15 in the day-of-month field means the job runs on the 1st and 15th. You can list as many values as needed: 0 9 1,10,15,25 * * runs at 9 AM on the 1st, 10th, 15th, and 25th of every month.
What does the hyphen mean in cron expressions?
The hyphen (-) defines a range of values. For example, 1-5 in the day-of-week field means Monday through Friday. In the hour field, 9-17 means every hour from 9 AM to 5 PM. Ranges are inclusive of both endpoints.
Does this cron humanizer store my data?
No. All processing happens entirely in your browser using JavaScript. Your cron expressions are never sent to any server. You can verify this by using the tool offline after the page loads.
What time zone does cron use?
By default, cron uses the server's local time zone. On most cloud servers, this is UTC. You can override this with the CRON_TZ variable in your crontab on systems that support it. Platforms like GitHub Actions and Kubernetes CronJobs always use UTC. The 'next runs' shown by this tool use your browser's local time.