Cron Expressions Guide
Complete guide to cron syntax, scheduling, and automation best practices.
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-5Runs for every day
Runs for every month
1–5
0 9 * * 1-5 /path/to/command
const cron = require('node-cron');
cron.schedule('0 9 * * 1-5', () => {
// your task
}, { timezone: 'Asia/Kolkata' });on:
schedule:
- cron: '0 9 * * 1-5'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: OnFailurefrom 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()* * * * *Runs every minute0 * * * *Runs at the start of every hour0 0 * * *Runs at midnight every day0 0 * * 1Runs every Monday at midnight0 0 1 * *Runs at midnight on the 1st of every month0 0 1 1 *Runs at midnight on January 1stA 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.
*/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".
Set the weekday field to 1-5 (Monday through Friday). Example: 0 9 * * 1-5 runs every weekday at 9:00 AM.
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.
Yes — click "⚙️ GitHub Actions" in the Copy as Code section to get the exact YAML schedule block for your workflow file.