Skip to content
  1. Home
  2. Developer Tools
  3. Cron Expression Parser

Cron Expression Parser & Generator

Translate a cron schedule into plain English and preview the next run times in any timezone.

Runs 100% in your browser Free, no sign-up Updated

Field breakdown

Next 10 runs

    How to use the Cron Expression Parser

    1. Enter a five-field cron expression (minute hour day-of-month month day-of-week) or pick a preset.
    2. Read the plain-English description and the per-field breakdown.
    3. Check the next 10 run times, in your local timezone or in UTC.
    4. Copy the expression into your crontab, CI pipeline or scheduler.

    How cron expressions work

    Cron is the time-based job scheduler built into Unix-like systems, and its five-field expression format has become the standard way to describe recurring schedules — in crontab, Kubernetes CronJobs, GitHub Actions schedule triggers, GitLab pipelines, AWS EventBridge (with a sixth year field), Laravel and Symfony schedulers, and most job-queue libraries.

    ┌───────────── minute (0-59)
    │ ┌───────────── hour (0-23)
    │ │ ┌───────────── day of month (1-31)
    │ │ │ ┌───────────── month (1-12 or JAN-DEC)
    │ │ │ │ ┌───────────── day of week (0-7 or SUN-SAT, 0 and 7 = Sunday)
    │ │ │ │ │
    * * * * *  command to run

    Special characters

    SymbolMeaningExample
    *Every value* * * * * — every minute
    ,List of values0 8,12,18 * * * — 08:00, 12:00 and 18:00
    -Range0 9 * * 1-5 — 09:00 Monday to Friday
    /Step*/10 * * * * — every 10 minutes
    @dailyMacroSame as 0 0 * * * (also @hourly, @weekly, @monthly, @yearly)

    Common cron schedules

    ExpressionRuns
    */5 * * * *Every 5 minutes
    0 */2 * * *Every 2 hours, on the hour
    0 0 * * *Every day at midnight
    0 9 * * 1-5Weekdays at 09:00
    0 0 * * 0Every Sunday at midnight
    0 0 1 * *Midnight on the first day of every month
    0 0 1 1 *Midnight on 1 January
    15 2 * * 6Saturdays at 02:15 — a typical backup window

    Gotchas that cause missed or duplicate jobs

    • Timezones. Cron uses the scheduler’s timezone. GitHub Actions and most managed schedulers run in UTC, so a job you expect at 09:00 local time may fire hours earlier or later. Switch the preview to UTC to check.
    • Daylight saving time. In local time, jobs scheduled between 01:00 and 03:00 can be skipped or run twice when clocks change. Prefer UTC for critical jobs.
    • Day-of-month OR day-of-week. When both fields are restricted, the job runs when either matches — 0 0 13 * 5 runs on every 13th and every Friday, not only on Friday the 13th.
    • Overlapping runs. If a job can take longer than its interval, guard it with a lock (flock) or a concurrencyPolicy: Forbid setting.

    Scheduled jobs often log Unix timestamps — decode them with the Unix Timestamp Converter.

    Frequently asked questions

    What are the five cron fields?
    Minute (0-59), hour (0-23), day of month (1-31), month (1-12 or JAN-DEC) and day of week (0-7 or SUN-SAT, where both 0 and 7 mean Sunday).
    What happens when both day-of-month and day-of-week are set?
    Standard cron runs the job when either field matches. 0 0 1 * MON runs on the 1st of every month and on every Monday. This parser follows that rule.
    How do I run a job every 5 minutes?
    Use */5 * * * *. The step syntax */n works in every field, and ranges can have steps too, for example 0-30/10.
    Which timezone does cron use?
    The timezone of the machine or service running it. Most servers and cloud schedulers (GitHub Actions, many Kubernetes clusters) use UTC, so switch the preview to UTC to see exactly when a job fires.
    Are @daily and Quartz expressions supported?
    Macros like @hourly, @daily, @weekly, @monthly and @yearly are supported. Quartz-only syntax such as seconds fields, L, W and # is not.

    Last updated . Launched with plain-English descriptions, presets and next-run preview.

    Building something that needs live data?

    ProWebLook APIs validate phone numbers, check WhatsApp accounts, verify emails and geolocate IPs. Try every endpoint in the browser, then grab a free API key.

    Open API Playground