Open Tools LibraryOpen Tools Library
Developer Tools

Cron Expression Generator & Parser

Build, decode, and double-check any cron schedule — with a plain-English explanation and the exact next run times.

Also known as: Crontab generator, Cron syntax generator, Cron job scheduler tool, Cron parser

100% FreeNo Signup Required100% Local
100% local — nothing you enter here ever leaves this browser tab
Loading tool…
Step by step

How it works

  1. 1Paste an existing cron expression, or pick a quick preset to start from.
  2. 2Read the plain-English schedule description and the field-by-field breakdown.
  3. 3Check the next 8 upcoming run times, shown in your local timezone.
  4. 4Copy the expression once it matches the schedule you intended.
Why OTL

Why use Cron Expression Generator & Parser

Correct day-of-month/day-of-week OR logic

Handles the classic cron gotcha correctly — when both fields are restricted, it's an OR, not an AND — verified against a trusted reference parser.

Plain-English schedule description

No more squinting at asterisks and slashes — see exactly what an expression means in a normal sentence.

Real upcoming run times, not just theory

Computes the next 8 times an expression actually fires, in your local timezone, so you can sanity-check it before deploying.

Supports seconds, aliases, and shorthands

Handles 5-field and 6-field (seconds) syntax, JAN-DEC/SUN-SAT names, and @daily/@weekly-style shorthands.

Honest about what it doesn't cover

Clearly scoped to standard Unix/Quartz-style cron — AWS EventBridge's differing 6-field-with-year variant is explicitly called out, not silently mishandled.

Nothing ever transmitted

Parsing and every calculation run entirely in your browser tab.

Real-world use

Who uses Cron Expression Generator & Parser

Decoding a cron expression you inherited

Paste in a schedule from an old script or someone else's config and get a plain-English explanation of when it actually runs.

Building a new scheduled job

Start from a preset like "every 15 minutes" or "weekdays at 9am" and adjust it, checking the next-run list as you go.

Debugging a job that fires at the wrong time

Confirm whether day-of-month/day-of-week OR logic is the reason a job is firing more often than expected.

Sanity-checking before deploying to production

Verify the next several run times match what you intended before a cron job goes live on a server.

Learning cron syntax

See how presets translate into raw cron fields, and how changing one field changes the schedule description.

Documenting a job's schedule for teammates

Copy the plain-English description into a runbook or PR description instead of leaving a raw cron string for others to decode.

Deep dive

About Cron Expression Generator & Parser

Cron syntax is compact by design, which is exactly why it's so easy to misread: five terse fields packed with asterisks, commas, dashes, and slashes, where a single misplaced character silently changes a job from "every hour" to "once a year." This tool exists to remove that guesswork — paste an expression in and get back exactly when it will run, in words, not just symbols.

The trickiest part of cron syntax isn't the basic fields, it's what happens when both the day-of-month and day-of-week fields are restricted at the same time. Most people assume that's an AND — "the 13th AND a Friday" — but standard cron treats it as an OR: an expression like "0 0 13 * FRI" fires on the 13th of every month, or on every Friday, whichever comes first. This tool's parser was built from scratch and verified against a trusted reference implementation specifically on this behavior, so the schedule it shows you matches what cron itself would actually do.

Beyond the standard 5-field syntax, this tool also accepts the 6-field seconds-prefixed variant used by Quartz-style schedulers, the common @yearly/@monthly/@weekly/@daily/@hourly/@minutely shorthands, named month and weekday aliases (JAN-DEC, SUN-SAT), and step, range, and list syntax like */15, 1-5, and MON,WED,FRI. What it intentionally does not claim to support is AWS EventBridge's 6-field-with-year cron variant, which has different rules (it requires a "?" in either the day-of-month or day-of-week field) — that's a genuinely different dialect, not just a formatting quirk, and is called out explicitly rather than silently mishandled.

Every next-run time shown is computed in your device's local timezone, not UTC, since that's what actually matters when you're checking whether a job will fire while you're asleep or during a maintenance window. All of it — parsing, validation, description, and the next-run search — runs entirely in your browser tab; nothing about the expression you're testing is ever sent anywhere.

Compare

Cron Expression Generator & Parser vs. other options

How Open Tools Library compares to desktop software and other online tools.

FeatureOpen Tools LibraryDesktop softwareOther online tools
PriceFree, unlimitedN/AOften free
Day-of-month/day-of-week logicCorrect OR semantics, verified against a trusted parserN/AVaries — some tools get this wrong
Seconds field supportYes, 6-field Quartz-styleN/ANot always supported
Next run times shownUp to 8, in your local timezoneN/AOften just 1, or in UTC only
Named aliases & shorthandsJAN-DEC, SUN-SAT, and @daily/@weekly/etc.N/AInconsistent support
Data privacyExpression never leaves your deviceN/AUsually client-side too, but varies
Pro tips

Pro tips

  • If both the day-of-month and day-of-week fields are set to something other than "*", cron treats it as OR, not AND — "0 0 1 * MON" fires on the 1st of the month or every Monday, whichever comes first.
  • "*/15" in the minutes field means every 15 minutes starting from 0 (so :00, :15, :30, :45) — not "15 minutes from whenever the job was created."
  • The 6-field seconds-prefixed variant (Quartz-style) is different from AWS EventBridge's 6-field cron, which requires a "?" in either the day-of-month or day-of-week field — this tool supports the former, not the latter.
  • Next-run times are computed using your device's local timezone — if the job actually runs on a server in a different timezone, adjust the hour field accordingly.
Under the hood

Technical specs

Syntax supported
5-field standard cron, 6-field seconds-prefixed (Quartz-style), and @yearly/@monthly/@weekly/@daily/@hourly/@minutely shorthands
Day-field logic
OR semantics when both day-of-month and day-of-week are restricted, matching standard cron behavior
Named aliases
JAN-DEC and SUN-SAT, case-insensitive
Field syntax
Wildcards (*), ranges (1-5), steps (*/15), and lists (MON,WED,FRI)
Next runs shown
Up to 8 upcoming times, computed in your local timezone
Not supported
AWS EventBridge's 6-field-with-year cron variant (different semantics)

Privacy & security

A tool for checking a scheduled job shouldn't need to know anything about the system that job actually runs on.

Parsing and every calculation run entirely in your browser — your expression is never uploaded, never seen by a server.

No account, no email, no login — just an expression in, a schedule out.

Next-run times are computed using your device's own clock, nothing looked up remotely.

Equally private whether you're decoding one expression or building a dozen.

FAQ

Frequently asked questions

What cron syntax does this tool support?

Standard 5-field Unix cron, the 6-field seconds-prefixed Quartz-style variant, named month/weekday aliases (JAN-DEC, SUN-SAT), and the common @yearly/@monthly/@weekly/@daily/@hourly/@minutely shorthands.

Does this work for AWS EventBridge cron expressions?

Not directly — EventBridge's cron syntax has different rules (a required "?" in either the day-of-month or day-of-week field, plus a mandatory year field). This tool is scoped to standard Unix/Quartz-style cron.

How do day-of-month and day-of-week combine when both are set?

As an OR, not an AND — this matches real cron behavior. For example, "0 0 13 * FRI" fires on the 13th of every month, or on every Friday, whichever comes first.

Is my cron expression sent anywhere?

No — parsing, the schedule description, and the next-run calculation all happen entirely in your browser.

Can I build a cron expression without knowing the syntax?

Yes — start from one of the quick presets (every 5 minutes, weekdays at 9am, monthly, etc.) and copy it once it matches what you need.

What does a value like "*/15" mean?

It's a step value — "every 15 units, starting from the field's minimum." In the minutes field, that means :00, :15, :30, and :45.

Stuck?

Troubleshooting

Why does my job fire more often than I expected when I set both day-of-month and day-of-week?

Standard cron treats a restricted day-of-month AND a restricted day-of-week as an OR, not an AND — the job fires when either condition is met. If you only want one condition, leave the other field as "*".

Can I use a 6-field expression with seconds?

Yes — enter a 6-field expression (second minute hour day-of-month month day-of-week) and it's parsed as Quartz-style seconds-prefixed cron.

Does this support AWS EventBridge cron expressions?

No — EventBridge uses a different 6-field-with-year cron dialect that requires a "?" in either the day-of-month or day-of-week field. This tool covers standard Unix/Quartz-style cron only.

The next-run times don't match what I expect for my server

Next-run times are computed in your device's local timezone. If the job runs on a server in a different timezone, mentally offset the hour field, or adjust it directly if you know the server's timezone.

Ready to use Cron Expression Generator & Parser?

Free, private, and ready right now — no signup required.

Scroll to Cron Expression Generator & Parser