ruxox
Start
Start
Cron / Scheduling

Cron Expression Builder

Build and explain cron expressions for Linux, Node.js, GitHub Actions, and AWS. See exactly when your schedule will run. Browser only.

Cron Expression Builder

Runs entirely in your browser — no server calls, no tracking.

Enter fields and click Build expression.

🔒 Your data never leaves this tab. This tool has no backend.

About this tool

About the Cron Expression Builder

A cron expression is a 5-field string (minute hour day-of-month month day-of-week) that defines a recurring schedule for automated tasks. It is used in Linux crontab, GitHub Actions, AWS EventBridge, Kubernetes CronJobs, Node.js schedulers, and dozens of other systems. This tool generates the expression from human-readable fields and shows the ready-to-copy syntax for the most common platforms.

Field syntax reference

* — every unit. */n — every nth unit (e.g. */15 in the minute field = every 15 minutes). n-m — range (e.g. 1-5 in day-of-week = Monday to Friday). n,m — list (e.g. 1,3,5 = Mon, Wed, Fri). You can combine: 0,30 9-17 * * 1-5 = at :00 and :30 past each hour from 9am to 5pm, weekdays.

Timezone warning

Cron schedules run in the system timezone of the machine or the configured timezone of the service. A cron job set to 0 9 * * * runs at 9am in whatever timezone the server is configured to. AWS EventBridge rules always run in UTC. GitHub Actions always run in UTC. Always specify whether your intended time is UTC or local, and document it in your code.

GitHub Actions uses a 6-field cron with second-level granularity in some contexts, but the standard Actions schedule trigger uses the standard 5-field POSIX format (UTC). GitHub does not guarantee exact execution time — jobs may be delayed by minutes during periods of high runner demand.

FAQ

Frequently asked questions

Why did my cron job not run at the expected time?
Common causes: (1) timezone mismatch — your server is UTC but you expected local time; (2) the cron daemon was not running; (3) the expression had a typo — test with this builder; (4) platform-specific syntax differences (AWS EventBridge uses a 6-field format; GitHub Actions uses standard 5-field but always UTC); (5) the task completed before the next run, but a previous instance was still running and the system queued or skipped the next.
What is the difference between @daily, @weekly, and an explicit cron?
Shorthand macros like @daily (0 0 * * *), @weekly (0 0 * * 0), @monthly (0 0 1 * *), and @hourly (0 * * * *) are supported in most Linux crontab implementations. They are not supported in GitHub Actions or AWS EventBridge, which require the full 5-field expression.
How do I run a job every 5 minutes in a cron expression?
Use */5 * * * *. The */n syntax means "every nth value". */5 in the minute field triggers at :00, :05, :10, :15... up to :55. Similarly, */2 * * * * runs every 2 minutes, 0 */4 * * * runs at midnight, 4am, 8am, noon, 4pm, 8pm each day.
Can cron run a job at a random time to avoid thundering herd?
Standard cron cannot. To spread load, use a random offset when setting up the expression (e.g. at a randomly chosen minute each hour for different instances). Some schedulers support H (hash) syntax (Jenkins uses this) to deterministically stagger jobs. AWS EventBridge has a jitter feature for this purpose.
Custom software

Need automated workflows or background jobs built?

ruxox builds scheduled jobs, automation pipelines, and background processing systems. Free estimate in 48 hours.