← Developer Tools

Cron Expression Builder — Visual Editor, AI Explain

Visual builder · Raw editor · Human text · Next runs · Timeline · AI Explain

💡

Build and validate cron expressions with a visual point-and-click editor or raw input mode. Instantly see human-readable output ("Every weekday at 9:00 AM"), next 20 run times, a 24-hour timeline chart, and conflict warnings. Copy as crontab, node-cron, GitHub Actions YAML, Kubernetes CronJob, or Python APScheduler. 22 preset schedules included. AI explains any expression in plain English.

0 9 * * 1-5
Every weekday (Mon–Fri) at 9:00 AM
Minute0
🕐Hour9
📅Day*

Runs for every day

🗓Month*

Runs for every month

📆Weekday1-5

1–5

🌍 Timezone:
📅 Next 5 Runs
1Thu, 4 Jun, 2026, 02:30 pmin 21h
2Fri, 5 Jun, 2026, 02:30 pmin 2d
3Mon, 8 Jun, 2026, 02:30 pmin 5d
4Tue, 9 Jun, 2026, 02:30 pmin 6d
5Wed, 10 Jun, 2026, 02:30 pmin 7d
⏱ 24h TimelineHours when cron fires
12a
1a
2a
3a
4a
5a
6a
7a
8a
9a
10a
11a
12p
1p
2p
3p
4p
5p
6p
7p
8p
9p
10p
11p
📋 Copy as Code
💻 crontab
0 9 * * 1-5  /path/to/command
🟢 node-cron
const cron = require('node-cron');
cron.schedule('0 9 * * 1-5', () => {
  // your task
}, { timezone: 'Asia/Kolkata' });
⚙️ GitHub Actions
on:
  schedule:
    - cron: '0 9 * * 1-5'
☸️ K8s CronJob
apiVersion: batch/v1
kind: CronJob
metadata:
  name: my-cronjob
spec:
  schedule: "0 9 * * 1-5"
  jobTemplate:
    spec:
      template:
        spec:
          containers:
          - name: job
            image: busybox
          restartPolicy: OnFailure
🐍 Python (APSched)
from apscheduler.schedulers.blocking import BlockingScheduler

scheduler = BlockingScheduler(timezone='Asia/Kolkata')

@scheduler.scheduled_job('cron', minute='0', hour='9', day_of_week='1-5')
def my_job():
    pass  # your task

scheduler.start()
⚡ Preset Library (22)
Every Minute* * * * *Runs every minute
Every Hour0 * * * *Runs at the start of every hour
🌅
Every Day (midnight)0 0 * * *Runs at midnight every day
📅
Every Week (Monday)0 0 * * 1Runs every Monday at midnight
🗓
Every Month (1st)0 0 1 * *Runs at midnight on the 1st of every month
🎉
Every Year (Jan 1)0 0 1 1 *Runs at midnight on January 1st

Frequently Asked Questions

What is a cron expression?

A cron expression is 5 space-separated fields (minute hour day month weekday) that define a recurring schedule. Widely used in Linux crontab, GitHub Actions, Kubernetes, Node.js and Python schedulers.

What does */5 mean in cron?

*/n means "every n units". */5 in the minute field = every 5 minutes. */2 in the hour field = every 2 hours. The * means "starting from 0" and the /5 means "every 5 steps".

How do I run a job on weekdays only?

Set the weekday field to 1-5 (Monday through Friday). Example: 0 9 * * 1-5 runs every weekday at 9:00 AM.

What is the difference between day-of-month and day-of-week?

Field 3 is day-of-month (1–31), field 5 is day-of-week (0=Sunday–6=Saturday). If both are non-*, cron uses OR logic — the job runs if either condition matches.

Does this tool support GitHub Actions cron syntax?

Yes — click "⚙️ GitHub Actions" in the Copy as Code section to get the exact YAML schedule block for your workflow file.