Cron Expression Builder
Build and understand cron expressions in your browser. Plain English summary, field breakdown, and the next 10 run times computed locally. No sign-up, no watermark, nothing uploaded.
- Plain English description
- Next 10 run times preview
- 12 quick presets
- Month and day names supported
Quick presets
Cron fields
0-59, *, */n, a-b, a,b
0-23, *, */n, a-b, a,b
1-31, *, */n, a-b, a,b
1-12 or JAN-DEC
0-6 Sun=0, or SUN-SAT
0 9 * * 1-5Plain English
Every weekday at 09:00.
Field breakdown
| Field | Value | Means | Allowed |
|---|---|---|---|
| Minute | 0 | at minute 0 | 0 to 59 |
| Hour | 9 | at hour 9 | 0 to 23 |
| Day of month | * | every day of the month | 1 to 31 |
| Month | * | every month | 1 to 12, or JAN to DEC |
| Day of week | 1-5 | on Monday, Tuesday, Wednesday, Thursday, Friday | 0 to 6 (Sunday to Saturday) |
Next 10 runs
- 1Wed 4 Nov 2026 at 09:00in 5 hours
- 2Thu 5 Nov 2026 at 09:00in 29 hours
- 3Fri 6 Nov 2026 at 09:00in 2 days
- 4Mon 9 Nov 2026 at 09:00in 5 days
- 5Tue 10 Nov 2026 at 09:00in 6 days
- 6Wed 11 Nov 2026 at 09:00in 7 days
- 7Thu 12 Nov 2026 at 09:00in 8 days
- 8Fri 13 Nov 2026 at 09:00in 9 days
- 9Mon 16 Nov 2026 at 09:00in 12 days
- 10Tue 17 Nov 2026 at 09:00in 13 days
Computed in your local timezone. Servers usually run cron in UTC or in the timezone set by the crontab. Adjust the hours field if your target runs UTC.
Everything runs in your browser. Nothing is uploaded. Nothing is logged.
- 100% Free
- No Sign-Up
- Plain English
- Next Run Preview
- 5 Field Standard
- Works Offline
The five cron fields
Standard crontab, Kubernetes CronJob and most Linux schedulers use the same five-field layout, left to right.
| Field | Range | Special chars | Examples | Notes |
|---|---|---|---|---|
| Minute | 0 to 59 | * , - / | 0, */5, 0-30, 0,15,30,45 | Runs at every matching minute of the hour |
| Hour | 0 to 23 | * , - / | 9, */6, 9-17 | 24 hour clock. 0 is midnight |
| Day of month | 1 to 31 | * , - / | 1, 15, 1-15 | Skipped in months that do not have that day |
| Month | 1 to 12 or JAN to DEC | * , - / | 1, JAN, 1-6, JAN-JUN | JAN is 1, DEC is 12 |
| Day of week | 0 to 6 or SUN to SAT | * , - / | 1, MON, 1-5, MON-FRI | 0 is Sunday. 7 is also accepted as Sunday in most implementations |
Special characters
Five symbols cover every cron expression in the wild. Once you know them, cron stops being cryptic.
| Symbol | Meaning | Example |
|---|---|---|
| Asterisk * | Any value | * * * * * means every minute of every hour of every day |
| Comma , | List of values | 0,15,30,45 * * * * means four specific minutes per hour |
| Hyphen - | Range | 1-5 * * * * means minutes 1 through 5 |
| Slash / | Step within a range | */15 * * * * means every 15 minutes |
| Slash within range | Step from start of range | 10-50/10 * * * * means minutes 10, 20, 30, 40, 50 |
Common cron expressions
Sixteen expressions that cover the majority of real schedules. Click any preset in the tool to load it.
| Expression | Meaning |
|---|---|
| * * * * * | Every minute |
| */5 * * * * | Every 5 minutes |
| */15 * * * * | Every 15 minutes |
| 0 * * * * | Every hour, on the hour |
| 0 */6 * * * | Every 6 hours (00:00, 06:00, 12:00, 18:00) |
| 0 0 * * * | Every day at midnight |
| 30 2 * * * | Every day at 02:30 |
| 0 9 * * 1-5 | Every weekday at 09:00 |
| 0 9 * * 1 | Every Monday at 09:00 |
| 0 0 * * 0 | Every Sunday at midnight |
| 0 0 1 * * | First day of every month at midnight |
| 0 0 1,15 * * | 1st and 15th of every month at midnight |
| 0 0 1 1 * | Every year on January 1 at midnight |
| 0 0 29 2 * | Every February 29 (leap years only) |
| 15 10 * * MON-FRI | Every weekday at 10:15 |
| 0 22 * * 1-5 | Every weekday at 22:00 |
Why this is the best free cron builder
Most cron tools make you sign in or push your expression to a server. This one runs entirely in your browser with a live plain-English view.
| Feature | TToolDeck | Typical online cron tool | Command line (crontab) |
|---|---|---|---|
| Runs entirely in your browser | Yes | No | Yes |
| No sign-up or email | Yes | Partial | Yes |
| Plain English description | Yes | Partial | No |
| Field-by-field breakdown | Yes | Partial | No |
| Next 10 run times preview | Yes | Partial | Yes |
| Month and day names supported | Yes | Yes | Yes |
| 12 quick presets | Yes | Partial | No |
| Copy expression in one click | Yes | Yes | Yes |
| No account, no quota, no rate limit | Yes | Partial | Yes |
| Works offline after first load | Yes | No | Yes |
Comparison reflects publicly available information at the time of writing. Features may change. Representative examples of common patterns.
More free developer tools
Free browser-based tools. Nothing uploaded, ever.
Schema Markup Generator
JSON-LD structured data for rich results
Meta Tag Generator
SEO and social meta tags with live preview
JSON Formatter
Format, validate and minify JSON
Diff Checker
Compare two texts or code files side by side
Hash Generator
MD5, SHA-1, SHA-256, SHA-384, SHA-512
JWT Decoder
Decode JSON Web Tokens header and payload
How it works
- 1
Pick a preset or type the fields
Twelve presets cover most schedules. Or type directly into the five fields: minute, hour, day of month, month, day of week.
- 2
Read the plain English
The summary line says exactly what the expression does. The field breakdown shows the meaning of each part. The next 10 runs confirm the timing.
- 3
Copy the expression
One click copies the five-field cron string. Paste into crontab, a Kubernetes manifest, a GitHub Actions workflow or any other scheduler.
Everything you get for free
Plain English summary
The expression is described in a sentence you can read out loud. "Every weekday at 09:00" instead of 0 9 * * 1-5.
Field-by-field breakdown
See exactly what each of the five fields means: minute, hour, day of month, month, day of week. No more counting columns in your head.
Next 10 run times
Real dates, computed locally in your timezone, with a relative label like "in 3 minutes". Confirms your expression fires when you think it will.
Month and day names
The month field accepts JAN to DEC, and the day of week field accepts SUN to SAT. Same behaviour as standard crontab.
Twelve quick presets
Every minute, every 5 minutes, hourly, daily, weekdays at 9am, first of month, yearly and more. One tap and the expression is ready.
Supports ranges, steps and lists
0-30, */5, 0,15,30,45, 1-5/2 all work the same way they do in real crontab. The parser follows the standard syntax.
Copy the expression in one click
Paste straight into your crontab, your CI YAML, your Kubernetes CronJob manifest or your scheduler config.
Zero upload, zero logging
Everything runs in JavaScript on your device. There is no server side parsing, no logging of your expression and no analytics on the content itself.
What people use it for
Writing a backup schedule
A nightly backup at 2:30am on weekdays is 30 2 * * 1-5. Confirm the schedule with the next-run preview before you trust it with production data.
Reading an old crontab
Paste the expression from an unfamiliar server and see it in plain English with the next ten runs. Understand it before you edit it.
Setting up a Kubernetes CronJob
Kubernetes CronJob specs use the same 5-field cron syntax. Build the schedule here, copy it, paste into the manifest under schedule.
Configuring a GitHub Action
GitHub Actions schedule triggers use standard cron but run in UTC. Check the hours field carefully, then paste.
Verifying report timing
A weekly report should go out at 6am Mondays. If the schedule reads 0 6 * * 1 the next-run list will confirm every Monday at 06:00.
Teaching yourself cron
Paste any expression, read the summary, then tweak one field at a time and watch the meaning and next runs change. Learning by doing beats a cheat sheet.
Questions people ask
What is a cron expression?
A cron expression is a short string of five space-separated fields that describe a recurring schedule. The five fields are minute, hour, day of month, month and day of week. A Unix server, a Kubernetes CronJob or a GitHub Action reads the expression and runs a task at every matching moment. The expression 0 9 * * 1-5 means "at 09:00 every weekday".
Is this cron expression builder free?
Yes. Every preset, every field and the next-run preview are free to use with no sign-up, no watermark and no daily limit. ToolDeck may show ads to pay for hosting, but they never lock a feature.
Is anything uploaded to a server?
No. The parser and the next-run calculator both run in JavaScript on your device. There is no server side processing, no logging of your expression and no analytics on the content itself.
What do the five fields mean, in order?
From left to right: minute (0 to 59), hour (0 to 23), day of month (1 to 31), month (1 to 12), and day of week (0 to 6 where 0 is Sunday). For example, 30 8 1 * * means "at 08:30 on the 1st of every month".
What does the asterisk mean?
The asterisk means "any value" for that field. A 5-field expression with all asterisks runs every minute of every hour of every day. Replacing one field with a number restricts it to that specific value.
What does the slash mean?
The slash means "every N". Writing */5 in the minute field means every 5 minutes. Writing */6 in the hour field means every 6 hours. You can also use it inside a range, like 10-50/10 in the minute field, which means 10, 20, 30, 40 and 50.
What does the hyphen mean?
The hyphen defines a range. Writing 1-5 in the day of week field means Monday to Friday. Writing 9-17 in the hour field means 9am to 5pm. Ranges can be combined with steps and lists.
What does the comma mean?
The comma builds a list of discrete values. Writing 0,15,30,45 in the minute field means those four minutes of the hour. Lists can include ranges, so 1,3,5-7 is valid too.
Can I use month and day names?
Yes. The month field accepts JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV and DEC. The day of week field accepts SUN, MON, TUE, WED, THU, FRI and SAT. The behaviour matches standard crontab.
How does the tool decide the day when both day-of-month and day-of-week are set?
This is the trickiest part of cron. Standard behaviour: if both fields are restricted, the task runs on a day that matches either. If only one is restricted, only that one applies. If neither is restricted, every day matches. This tool follows the standard.
Why does the next run show the wrong timezone?
The preview is computed in your browser, so it uses your local timezone. Servers usually run cron in UTC or in the timezone set for the crontab. If your target is UTC, subtract or add the offset from your local hours field.
Can the next run be empty?
Yes, for expressions that never match a real calendar date, like 0 0 30 2 * (February 30). The tool will show a message instead of the run list. That is expected, and it tells you the expression is not valid in practice.
Does it support 6-field cron with seconds?
No. This tool works with the standard 5-field cron like crontab, Kubernetes CronJob and most Linux schedulers. A 6-field expression with a leading seconds field is not standard across implementations, so it is intentionally left out.
Does it work offline?
Yes. After the page first loads, everything runs locally in JavaScript. No internet connection is needed.
Which browsers are supported?
Current versions of Chrome, Edge, Firefox and Safari, on desktop and mobile. Everything uses standard web APIs and no browser specific features.
Everything you type stays in your browser
The cron parser and the next-run calculator both run in JavaScript on your device. There is no server side processing, no logging of your expression and no analytics on the content itself. You can confirm this by watching your browser network tab while using the tool. Read how we keep it private.