What is Cron Expression Generator?

Free cron expression generator and parser. Build cron schedules visually — select minute, hour, day, month, and weekday — get the cron string instantly. Shows next 5 run times in plain English. No signup.

No file uploadsNo tracking of inputsNo account requiredWorks offline after first load

Cron Generator runs entirely in your browser using JavaScript (browser). Your data never leaves your device.

Free Cron Expression Generator

Build cron expressions without memorizing the syntax. Use the visual field editors to set minute, hour, day of month, month, and day of week values. The cron string updates in real time. Paste any existing cron expression to parse it into human-readable text. Shows the next 5 scheduled run times so you can confirm the schedule is correct before deploying. Supports standard 5-field Unix cron and common presets.

Free to embed on your website · No signup required

Minute

Hour

Day (month)

Month

Day (week)

0 * * * *

Every hour at minute 0

Next 5 scheduled runs

  • 1.Sun, Apr 26, 2026, 11:00 PM
  • 2.Mon, Apr 27, 2026, 12:00 AM
  • 3.Mon, Apr 27, 2026, 01:00 AM
  • 4.Mon, Apr 27, 2026, 02:00 AM
  • 5.Mon, Apr 27, 2026, 03:00 AM

Parse existing cron expression

Frequently Asked Questions

A cron expression is a string of 5 fields (minute, hour, day of month, month, day of week) that defines a schedule for recurring tasks. For example, "0 9 * * 1" means "at 9:00 AM every Monday". Cron is the standard scheduling mechanism on Unix/Linux systems and cloud platforms like AWS, GCP, GitHub Actions, and Vercel.
An asterisk (*) means "any value" or "every". "0 * * * *" runs at the top of every hour. "* * * * *" runs every minute.
"*/5" in the minute field means "every 5 minutes". "*/2" in the hour field means "every 2 hours". Step syntax is */n where n is the interval.
Day of month (field 3, 1–31) schedules by calendar date. Day of week (field 5, 0–7, where both 0 and 7 mean Sunday) schedules by weekday. Using both in the same expression uses OR logic on most systems — a job runs if either condition matches.
Yes. GitHub Actions uses standard 5-field cron syntax. AWS EventBridge uses the same syntax with an additional 6th "year" field (just add * at the end). Vercel cron uses standard 5-field syntax. The expression this tool generates works for all three.
"* * * * *" — every minute. "0 * * * *" — every hour. "0 0 * * *" — every day at midnight. "0 9 * * 1-5" — weekdays at 9 AM. "0 0 1 * *" — first day of every month.

Understanding Cron Syntax

A cron expression consists of five fields separated by spaces, each defining a time unit: minute (0–59), hour (0–23), day of month (1–31), month (1–12), and day of week (0–7, where both 0 and 7 represent Sunday). Each field accepts a specific value, a comma-separated list of values, a range (start-end), or an asterisk (*) meaning "any". Step values (*/n) specify an interval — */15 in the minute field means every 15 minutes.

Cron in Cloud Platforms

Every major cloud platform and CI/CD system supports cron scheduling. GitHub Actions workflows use the on: schedule: cron: trigger, accepting standard 5-field expressions in UTC. AWS EventBridge (CloudWatch Events) uses a similar syntax with an optional 6th "year" field. Google Cloud Scheduler, Vercel cron jobs, and Railway scheduled tasks all use standard 5-field cron. Kubernetes CronJob resources accept the same 5-field format. This tool generates expressions compatible with all of these platforms. Always verify your schedule in UTC — most cloud schedulers run in UTC regardless of your local timezone.

Common Pitfalls

A frequent mistake is using both day-of-month and day-of-week restrictions in the same expression. On most Unix/cron implementations, specifying both uses OR logic — the job runs if either condition is satisfied. To run a job on the 15th of every month only if it falls on a weekday, you cannot use a single cron expression; you need a wrapper script that checks the day. Another pitfall is forgetting that cron runs in the server's local timezone (often UTC) while you're thinking in your local time — a job set to "9 AM" will run at 9 AM UTC, which may be 4 AM or 11 PM in your timezone. Always verify with the next-run preview.