Skip to main content
UnblockDevs

Cron Expression Builder & Explainer

Build and explain cron expressions instantly. See next 10 run times, get human-readable descriptions, and generate crontab syntax.

100% in-browserNo signupFree forever

Press +Enter to parse

Common Presets

Field Breakdown

minute:00
hour:99
day (month):*every value (*)
month:*every Jan (*)
weekday:1-5every 1 values starting at Mon

Cron Expression Builder — Build & Explain Cron Schedules Instantly

A cron expression is a compact string of five fields — minute, hour, day-of-month, month, and day-of-week — that defines exactly when a recurring task should run. This tool converts any cron expression into plain English (e.g., 0 9 * * 1-5 becomes "At 9:00 AM, Monday through Friday"), shows the next 10 scheduled run times in your local timezone, and provides an interactive visual builder so you can construct schedules without memorizing syntax.

💡

Press ⌘+Enter (Mac) or Ctrl+Enter (Windows) to parse your cron expression instantly without clicking the button.

How it works

Build Cron Expressions in Four Steps

01

Enter an expression

Type any 5-field cron expression or pick a preset like @daily, @weekly, or a weekday-morning example.

02

Read the explanation

Get an instant human-readable description: "Every 5 minutes", "At midnight on the 1st of every month", etc.

03

Verify next run times

Check the next 10 scheduled occurrences in local time to confirm the schedule is exactly what you expect.

04

Copy and deploy

Click Copy to grab the cron expression and paste it into your crontab file, CI/CD config, or cloud scheduler.

Use cases

When Developers Use Cron Expressions

🔁

Automated Backups

Schedule database or file backups nightly, weekly, or on a custom cadence using a cron job.

📊

Batch Report Generation

Generate and email reports every morning at 8 AM on weekdays using expressions like 0 8 * * 1-5.

🧹

Data Cleanup Jobs

Run cleanup scripts every Sunday at midnight to purge old logs, temp files, or expired sessions.

🔔

Notification Triggers

Send scheduled push notifications, digest emails, or Slack summaries at precise times.

⚙️

CI/CD Pipelines

Trigger nightly builds, integration test runs, or dependency audits using cron schedules in GitHub Actions.

📈

Monitoring & Health Checks

Ping external services every minute or every 5 minutes to verify uptime and catch outages early.

FAQ

Frequently Asked Questions

1Why is my cron job running at the wrong time?
The most common cause is a timezone mismatch. Cron daemons run in the server's system timezone (usually UTC on cloud servers), so "0 9 * * *" fires at 9 AM UTC — which may be 2 AM or 4 AM in your local timezone. Add CRON_TZ=America/New_York at the top of your crontab to force a specific timezone, and use this tool to preview the next 10 run times.
2What does */5 mean in cron?
*/5 means "every 5 units". In the minute field, */5 runs at :00, :05, :10, :15, and so on. You can use the step syntax in any field — for example, */2 in the hour field means every 2 hours.
3How do I run a job on the last day of the month?
Standard cron does not support "last day of month" directly. A common workaround is to use a script that checks whether tomorrow is the 1st of the next month, or to use an extended cron implementation (like Quartz or AWS EventBridge) that supports the L modifier.
4Are @daily and 0 0 * * * the same?
Yes. @daily is a shorthand alias for "0 0 * * *", which runs once at midnight every day. Other aliases include @hourly (0 * * * *), @weekly (0 0 * * 0), @monthly (0 0 1 * *), and @yearly (0 0 1 1 *).
5How do I read a cron expression?
Read the five fields left to right: minute (0-59), hour (0-23), day-of-month (1-31), month (1-12), day-of-week (0-7, where 0 and 7 are Sunday). For example, "0 8 * * 1" means minute 0, hour 8, any day, any month, Monday — i.e., "every Monday at 8:00 AM".
6What do the 5 fields in a cron expression mean?
The five fields are: (1) Minute: 0–59. (2) Hour: 0–23. (3) Day-of-month: 1–31. (4) Month: 1–12. (5) Day-of-week: 0–7 (0 and 7 both equal Sunday). Each field accepts *, ranges (1-5), lists (1,3,5), or steps (*/5).
7How do I run a cron job every 5 minutes?
Use "*/5 * * * *". The */5 in the minute field means "every 5 minutes". The asterisks in the remaining fields mean every hour, every day, every month, and every day of the week — resulting in runs at :00, :05, :10, :15, etc.
8How do I run a cron job at midnight?
Use "0 0 * * *" — minute 0, hour 0, every day. You can also use the shorthand @daily or @midnight. To run at noon instead, use "0 12 * * *".
9How do I run a cron job on weekdays only?
Put 1-5 in the day-of-week field. For example, "0 9 * * 1-5" runs at 9:00 AM Monday through Friday. Day-of-week uses 1=Monday through 6=Saturday. You can also use three-letter names: MON-FRI.
10What is the difference between cron on Linux and AWS EventBridge?
Linux cron uses 5 fields. AWS EventBridge cron uses 6 fields (with an added Year field at the end) and requires that either day-of-month or day-of-week is set to ? (not both can be *). EventBridge also supports the L (last) and W (nearest weekday) modifiers.
11How do I debug a cron job that is not running?
Verify the expression with this tool by checking the next run times. Then confirm the cron daemon is running (systemctl status cron), check logs in /var/log/syslog or /var/log/cron, ensure the script is executable, and use absolute paths in commands because cron runs with a minimal PATH.
12How do I set the timezone for a cron job?
On Linux, add CRON_TZ=America/New_York at the top of the crontab file. GitHub Actions cron always runs in UTC. In Kubernetes CronJobs, set spec.timeZone to an IANA timezone name (supported since Kubernetes 1.25).
13What is @daily, @weekly, @monthly in cron?
@hourly = (0 * * * *), @daily = (0 0 * * *), @weekly = (0 0 * * 0), @monthly = (0 0 1 * *), @yearly = (0 0 1 1 *). @reboot runs once at system startup. These shortcuts are supported by most cron implementations but not all cloud schedulers.
14How do I run a cron job in Kubernetes?
Use a Kubernetes CronJob resource with spec.schedule set to a 5-field cron expression. Set spec.timeZone to an IANA timezone name (supported since Kubernetes 1.25) to control the schedule timezone. Kubernetes CronJobs create Job resources on schedule, which create Pods to run your task.
15How do I add cron jobs in GitHub Actions?
Use the schedule event trigger: on: { schedule: [{ cron: "0 2 * * *" }] }. GitHub Actions cron always runs in UTC. The minimum interval supported is every 5 minutes (*/5 * * * *). During periods of high load, GitHub may delay scheduled runs by a few minutes.
Learn more

Developer Guides

Last updated: May 2026

Feedback for cron_expression

Tell us what's working, what's broken, or what you wish we built next — it directly shapes our roadmap.

You make the difference

Good feedback is gold — a rough edge you hit today could be smoother for everyone tomorrow.

  • Feature ideas often jump the queue when lots of you ask.
  • Bug reports with steps get fixed faster — paste URLs or examples if you can.
  • Name and email are optional; we won't use them for anything except replying if needed.

Stay Updated

Get the latest tool updates, new features, and developer tips delivered to your inbox.

What you'll get
  • Product updates & new tools
  • JSON, API & developer tips
  • Unsubscribe anytime — no hassle

Get in touch

Feature ideas, bugs, or a quick thanks — we read every message.