Cron Expression Builder.
Build, validate, and understand cron expressions for n8n, GitHub Actions, and Linux crontab.
Expression
VALID* * * * *Every minute
Paste / type expression
Minute
0–59Hour
0–23Day of Month
1–31Month
1–12Day of Week
0–6Common Presets
Platform Notes
Linux crontabStandard 5-field format. Supports L, W, # in some distros (Vixie cron). Run: crontab -e
GitHub ActionsUses UTC. Expression goes in on.schedule[].cron. Minimum interval: 5 minutes. Syntax: uses standard 5-field.
n8nTrigger node → Schedule. Accepts standard cron or visual builder. Timezone configurable per workflow. L may not be supported.
Cron syntax reference.
A cron expression reads left to right: minute, hour, day of month, month, day of week.
| Field | Allowed range | Special characters |
|---|---|---|
| Minute | 0–59 | * , - / |
| Hour | 0–23 | * , - / |
| Day of Month | 1–31 | * , - / L W |
| Month | 1–12 | * , - / |
| Day of Week | 0–6 | * , - / L # |
Common cron patterns.
Click any expression in the builder above to apply it, or copy one from here.
| Expression | Pattern | What it does |
|---|---|---|
| * * * * * | Every minute | Runs once per minute, all day |
| */5 * * * * | Every 5 minutes | Common for monitoring checks |
| */15 * * * * | Every 15 minutes | Quarter-hourly polling |
| 0 * * * * | Hourly | Runs at the start of every hour |
| 0 0 * * * | Daily at midnight | Common for nightly cleanup jobs |
| 0 9 * * * | Daily at 9am | Weekday morning report |
| 0 9 * * 1-5 | Weekdays at 9am | Mon–Fri business-hours trigger |
| 0 12 * * 0,6 | Weekends at noon | Sat & Sun at 12:00 |
| 0 0 1 * * | First of each month | Monthly billing or rollup |
| 0 0 * * 0 | Every Sunday midnight | Weekly reset or report |
| 0 9,17 * * * | Twice daily | 9am and 5pm every day |
| 0 */6 * * * | Every 6 hours | Runs at 0, 6, 12, 18 |
Capabilities
What You Get
Write the expression and read back what it actually does — before it silently runs at the wrong hour in production.
Plain-English Preview
Every expression is described in words as you build it.
Field-By-Field
Set minute, hour, day, month, and weekday without memorising the order.
Live Validation
Out-of-range and malformed fields are flagged immediately.
Pattern Library
Twelve common schedules ready to copy or apply.
Platform Ready
Output works for n8n, GitHub Actions, and Linux crontab alike.
Fully Offline
Parsing and validation happen entirely in your browser.
Related tools.
More free browser-based utilities, connected by category and use case.
n8n Workflow Validator
Paste your n8n workflow JSON and get a full validation report — orphaned nodes, missing connections, unreachable branches, and loop detection. Built from real production n8n experience.
JSON Formatter & Diff
Paste raw or minified JSON to format, validate, and syntax-highlight it. Switch to diff mode to compare two JSON blobs side by side and see exactly what changed.
JWT Decoder
Paste any JSON Web Token and instantly see the decoded header, payload, expiry, and issued-at date in a clean readable layout. Runs entirely in the browser — nothing sent anywhere.
FAQ
Cron Expression Builder FAQ.
What is a cron expression?
A cron expression is a compact string of five space-separated fields that defines a recurring schedule for a job or task. The fields represent — in order — minute, hour, day of month, month, and day of week. Asterisks (*) mean 'every', slashes define step intervals (*/5 = every 5), and commas list multiple values.
How do I use a cron expression in n8n?
In n8n, add a Schedule Trigger node to your workflow. Select 'Cron Expression' as the trigger mode and paste your expression into the 'Expression' field. The workflow runs in the timezone configured in your n8n instance settings. Note that n8n may not support all extended specifiers like L (last day) depending on the version.
How do I use a cron expression in GitHub Actions?
In your workflow YAML, use the on.schedule key with a cron sub-key. Example: on: schedule: - cron: '0 9 * * 1-5'. GitHub Actions always runs cron schedules in UTC. The minimum interval GitHub Actions enforces is 5 minutes. Expressions with a step shorter than */5 on the minute field will be clamped.
What does */ mean in a cron expression?
The */ syntax is called a step value. It means 'every N units'. For example, */15 in the minute field means 'every 15 minutes' (i.e. at 0, 15, 30, 45). */6 in the hour field means 'every 6 hours' (0, 6, 12, 18). You can also combine a range with a step: 1-5/2 means every 2 units within the 1-to-5 range.
What is the difference between day-of-month and day-of-week?
Day-of-month (field 3) specifies a calendar date (1–31), while day-of-week (field 5) specifies a named day (0 = Sunday, 6 = Saturday). If both are set to non-asterisk values, most cron implementations fire when either condition is true, not both. To target a specific weekday on a specific date, you often need additional application logic.
Why is my scheduled GitHub Actions workflow not running?
Several reasons are common: the repository may have gone inactive (GitHub pauses schedules on repos with no activity for 60 days), the cron expression may be invalid, or the interval is shorter than 5 minutes. Workflows are also queued, so there can be delays of several minutes under high GitHub infrastructure load. Always validate your expression with a tool before committing.













