Free Online Cron Expression Builder & Validator

A cron expression is a compact string that defines a recurring schedule - used by Unix/Linux cron, AWS EventBridge, GitHub Actions, and Kubernetes CronJobs. Build and validate cron expressions visually, see a plain-English description, and preview the next 5 run times instantly. No sign-up required. 100% in-browser.

Presets

Human-readable

Every minute

Next 5 run times (local time)

  1. 1 6/15/2026, 9:01:00 PM
  2. 2 6/15/2026, 9:02:00 PM
  3. 3 6/15/2026, 9:03:00 PM
  4. 4 6/15/2026, 9:04:00 PM
  5. 5 6/15/2026, 9:05:00 PM

Related Developer Tools

Last updated: May 25, 2026

Reviewed by the QuickTooly Team

Cron Expression Builder Guide

Why Use QuickTooly's Cron Expression Builder?

  • Visual field builder: Set each cron field with a dropdown - no need to memorise syntax.
  • Human-readable output: See exactly when your cron will fire in plain English before deploying.
  • AWS EventBridge support: Switch to 6-field AWS syntax with ? and year support - a gap no other free tool fills.
  • Works with GitHub Actions & Kubernetes: Standard Unix 5-field syntax is fully compatible with GitHub Actions schedule: triggers and Kubernetes CronJobs - copy the expression directly into your workflow YAML or manifest.
  • Next run times: Preview the next 5 scheduled executions so you can verify your schedule is correct.
  • Presets: One-click common patterns to get started instantly.
  • 100% private: Everything runs in your browser - no data leaves your device.

How to Use the Cron Expression Builder

  1. Choose mode - Standard Unix (5 fields) for Linux, GitHub Actions, and Kubernetes; AWS EventBridge (6 fields) for Lambda triggers.
  2. Set each field - use the dropdowns for common values or type a custom expression directly into the input above.
  3. Or pick a preset - click any preset chip to jump straight to a common schedule.
  4. Check the human-readable summary - confirms the schedule in plain English so you know it's correct.
  5. Preview the next 5 run times - verify the exact dates before deploying.
  6. Copy - click Copy to put the finished expression on your clipboard.

Cron Expression Field Reference

A standard Unix cron expression has five fields separated by spaces:

FieldAllowed valuesSpecial chars
Minute0–59* , - /
Hour0–23* , - /
Day of month1–31* , - / ? L W
Month1–12 or JAN–DEC* , - /
Day of week0–6 or SUN–SAT* , - / ? L #

AWS EventBridge Cron Differences

AWS EventBridge (formerly CloudWatch Events) uses a 6-field cron format wrapped in cron(…) and has several differences from standard Unix cron:

  • Year field: An additional 6th field for the year (1970–2199 or *).
  • ? required: You cannot specify both day-of-month and day-of-week; one must be ?.
  • No @reboot: AWS does not support special strings like @hourly.
  • Weekday numbering: AWS uses 1=SUN … 7=SAT (not 0–6).
  • Minimum resolution: The finest granularity is 1 minute.

Cron and Timezones

Standard cron expressions have no built-in timezone field - they always run in the server's local timezone (typically UTC in cloud environments). If you need a specific local time, either configure your system or container's timezone before cron runs, or adjust the hour field to the UTC equivalent manually. AWS EventBridge cron runs in UTC by default; you can override the timezone per-rule in the AWS console.

Common Cron Patterns

ExpressionMeaning
* * * * *Every minute
0 * * * *Every hour, on the hour
0 0 * * *Daily at midnight
0 9 * * 1-5Weekdays at 9:00 AM
0 0 * * 0Every Sunday at midnight
0 0 1 * *1st of every month at midnight
0 0 1 1 *Every January 1st at midnight
*/5 * * * *Every 5 minutes
0 */6 * * *Every 6 hours
30 8 * * 1Every Monday at 8:30 AM

Frequently Asked Questions

What is a cron expression?

A cron expression is a string of 5 (or 6) fields that defines a recurring schedule for a task. It is used by Unix cron, AWS EventBridge, GitHub Actions, Kubernetes CronJobs, and many CI/CD systems to trigger jobs at specified intervals.

What does */5 mean in a cron field?

The / character denotes a step value. */5 in the minute field means "every 5 minutes" (0, 5, 10, …, 55). 0/15 means "starting at 0, then every 15 minutes."

How do I run a job every weekday?

Use 0 9 * * 1-5 to run at 9 AM Monday through Friday. The 1-5 in the day-of-week field represents Monday (1) to Friday (5).

Why does AWS EventBridge cron use ??

AWS requires that exactly one of day-of-month or day-of-week be set to ? (no specific value). This avoids ambiguity - for example, "the 15th of every month that is also a Wednesday" is tricky logic. Use ? for the field you don't care about.

What is the minimum cron interval on AWS EventBridge?

AWS EventBridge supports a minimum interval of 1 minute. For sub-minute scheduling you would need a different mechanism, such as Step Functions with a wait state.

Is my cron expression validated server-side?

No - validation and parsing run entirely in your browser using the open-source cronstrue and cron-parser libraries. No data is ever sent to a server.

What timezone does cron use?

Cron expressions don't include a timezone field. They execute in the timezone of the server or runtime. In most cloud environments - AWS Lambda, GitHub Actions, Kubernetes - that is UTC. Adjust your hour field to the UTC equivalent of your local time, or configure the runtime's timezone separately.

Can I use this cron expression builder for GitHub Actions?

Yes. GitHub Actions uses standard 5-field Unix cron syntax in the on.schedule.cron field. Select "Standard Unix" mode, build your expression, and paste it directly into your workflow YAML.

How do I schedule a cron job every 30 minutes?

Use */30 * * * * - the */30 step value in the minute field fires at :00 and :30 of every hour. Select "Every 30 min (*/30)" from the Minute dropdown above to generate this automatically.

What does L mean in a cron expression?

L stands for "last." In the day-of-month field, L means the last day of the month. In the day-of-week field (where supported), 5L means the last Friday of the month. Not all cron implementations support L - check your platform's documentation.