Cron Expression Generator
Build and decode cron schedule expressions visually — get human-readable descriptions and next run times.
Last updated: March 25, 2026
Find this tool useful? Support the project to keep it free!
Buy me a coffeeWhat is Cron Expression Generator?
A cron expression is a string of 5 (or 6) space-separated fields that defines a recurring time schedule for automated task execution. Originally from Unix cron daemons, cron expressions are now the universal scheduling syntax across Linux servers, cloud functions (AWS Lambda, Google Cloud Scheduler, Azure Functions), CI/CD platforms (GitHub Actions, GitLab CI), Kubernetes CronJobs, and application-level schedulers (Laravel, Celery, Quartz).
The five standard fields represent: Minute (0-59), Hour (0-23), Day of Month (1-31), Month (1-12), and Day of Week (0-7). Extended formats add a Seconds field. Special values include * (every), , (list), - (range), and / (step). The expression "0 9 * * 1" means "at 09:00 every Monday" — but reading this intuitively requires practice. This tool generates cron expressions from visual controls and, equally usefully, decodes existing expressions into plain-English descriptions.
How to Use Cron Expression Generator
Use the visual schedule builder to select timing preferences (every hour, specific days, etc.)
Or type a cron expression directly into the input field to decode it
Read the human-readable description ("Runs at 12:00 PM on weekdays") below the expression
Review the "Next 5 Run Times" to verify the schedule is correct before using it
Copy the cron expression with the Copy button for use in your scheduler
Common Use Cases
- Scheduling a Node.js script to run every night at 2 AM for database cleanup
- Setting up a GitHub Actions workflow to run on a weekly schedule ("0 8 * * 1")
- Creating a Kubernetes CronJob for periodic batch data processing
- Configuring AWS EventBridge (CloudWatch Events) scheduled rules for Lambda triggers
- Setting up a WordPress scheduled task (WP-Cron) for daily email digest sends
- Scheduling Google Cloud Scheduler jobs for API data synchronization
- Configuring a Celery beat scheduler in a Django application for periodic tasks
- Decoding an existing cron expression in a legacy system to understand what it does
Example Input and Output
Common cron expressions and their plain-English meaning:
0 9 * * 1-5
0 0 1 * *
*/15 * * * *
0 0 * * 0
0 2 * * *At 09:00, Monday through Friday (weekdays)
At midnight on the 1st day of every month
Every 15 minutes
At midnight on Sunday (weekly)
At 02:00 every dayHow This Tool Works
The expression generator builds a cron string from individual field values. The expression decoder uses the cronstrue library to generate plain-English descriptions from any valid 5 or 6-field cron expression. Next run times are calculated using cron-parser, which implements accurate scheduling logic including month boundary handling (months with different day counts) and daylight saving time transitions. All calculations are performed in the user's local timezone by default.
Technical Stack
Client-Side Processing
All expression parsing, validation, and next-run-time calculation runs locally in your browser. No cron expressions or schedules are sent to our servers.
Test Before Deploying
Always verify the "Next 5 Run Times" before deploying a cron schedule. A common mistake is confusing "0 * * * *" (runs at :00 of every hour) with "* * * * *" (runs every single minute). Seeing the actual upcoming timestamps removes all ambiguity.
Avoid Common Pitfalls
Remember that "0 9 * * 1" and "0 9 1 * *" are completely different: the first runs every Monday at 9 AM; the second runs on the 1st of every month at 9 AM. When both day-of-month and day-of-week are non-wildcard, most cron implementations use OR logic — the job runs on either condition.
Frequently Asked Questions
What is the difference between "0 0 * * 0" and "0 0 * * 7"?
Both represent Sunday. Most Unix cron implementations accept both 0 and 7 for Sunday. Day of week 1 = Monday, 2 = Tuesday... 5 = Friday, 6 = Saturday, 0 or 7 = Sunday. When in doubt, use 0 for Sunday for maximum compatibility.
What does */ mean in a cron expression?
"/" is the step operator. */15 in the minutes field means "every 15 minutes". */5 in the hours field means "every 5 hours". 1-5/2 means "every 2 values in the range 1 through 5" — so 1, 3, 5.
How do I run a job every weekday (Monday to Friday)?
Use "1-5" in the Day of Week field. A complete expression for 9 AM every weekday: "0 9 * * 1-5". You can also use the list syntax: "0 9 * * 1,2,3,4,5" — both are equivalent.
What is the 6-field cron format with seconds?
Standard cron uses 5 fields (minute, hour, day, month, weekday). Quartz Scheduler (Java), AWS EventBridge, and Spring use a 6-field format that adds a Seconds field at the beginning: "0/30 * * * * ?" means "every 30 seconds". AWS Lambda cron adds a 6th field for year. Always check which format your scheduler expects.
Can I use L (last) and W (nearest weekday) in cron?
"L" and "W" are Quartz-specific extensions — not standard Unix cron. "L" in the day-of-month field means the last day of the month. "5L" means the last Friday. "15W" means the nearest weekday to the 15th. These are not supported in Linux crontab, GitHub Actions, or Kubernetes — only in Java Quartz Scheduler and AWS EventBridge.
What timezone does cron use?
Traditional Linux cron uses the system's local timezone. Cloud schedulers vary: AWS EventBridge uses UTC by default, Google Cloud Scheduler lets you specify a timezone (like America/New_York). Kubernetes CronJobs run in the controller's timezone (typically UTC). Always check your scheduler's timezone handling — misunderstandings here cause missed or double-run jobs.
Related Tools
Unix Timestamp Converter
Convert Unix epoch timestamps to human-readable dates and vice versa — with timezone support.
JSON Formatter
Format, validate, and beautify JSON instantly — with clear error messages, Tree View, Diff mode, and Schema validation.
SQL Formatter
Format, minify, convert, compare, and analyze SQL queries in a private browser-based SQL formatter with MySQL and PostgreSQL workflow tools.
Cron Expression Explainer
Translate cron expressions to plain English — see next run times, validate schedules, and learn cron syntax with live examples.
HTTP Status Code Reference
Searchable reference for all HTTP status codes — with meaning, common causes, and fix recommendations.

