Skip to content
UtilPick.
My toolbox
All tools
Favorites
Saved tools

Loading…

Recently used

Tools you open will appear here.

Get the desktop app
Settings
UtilPick.
All tools
All tools/Cron Expression Builder

Cron Expression Builder

Build a cron expression from a schedule and preview the next eight run times.

Loading the tool…

User reviews

No reviews yet. If you’ve used this tool, be the first to leave one.

User reviews

No reviews yet.

Write a review

Checking your sign-in status…

    From first step to finished result

    Cron Expression Builder: complete guide

    Walk through the steps and examples, or jump straight to the topic you need.

    How to use
    Examples & choices
    Troubleshooting
    FAQ

    At a glance

    Format handled
    Standard 5 fields: minute hour day-of-month month day-of-week.
    Notation you can use
    *, numbers, ranges like 1-5, lists like 1,3,5, steps like */15, and names like JAN and MON.
    Day rule
    If both day-of-month and day-of-week are specified, it runs when either one matches (standard cron).
    Run times
    Actually calculates the next 8 and shows them with the weekday.
    Search window
    Searches within 5 years from now.
    Time zone
    Calculated in this browser's time zone, which is shown on screen.
    Blocked in advance
    Impossible date combinations such as February 30.
    Not supported
    The 6-field form with seconds, @daily aliases, and extended syntax such as L, W and #.

    How to use Cron Expression Builder

    1. 1. Type an expression or pick a common one

      01Type an expression or pick a common one

    2. 2. Read the plain-language description

      02Read the plain-language description

    3. 3. Verify it with the next run times

      03Verify it with the next run times

    1. 01

      Type or pick an expression

      You can type it yourself, or pick a common expression and edit it. Below it, what each of the five fields is shown with its value.

    2. 02

      Read the plain-language description

      If the expression is valid, it explains the condition in plain words. If it's invalid, it points out which field is wrong and why.

    3. 03

      Verify with the next run times

      This is the surest way to check. It shows the next eight run times with the weekday, so you can see whether it runs only on weekdays and what happens at month end.

    4. 04

      Copy the expression and use it

      When you're done checking, copy the expression or the list of run times. Just remember that if the server's time zone differs, the real run times differ.

    What it’s good for

    Check against real times, not just a description

    A plain-language description helps, but for a confusing expression a description alone isn't enough. This tool actually evaluates the expression and shows the next eight times it will run, with the weekday. You can see at a glance whether it runs only on weekdays, whether it skips at month end, and when February 29 in a leap year comes.

    It reflects how day-of-month and weekday work together exactly

    This is where cron is most often misread. "0 0 1 * 1" doesn't mean the 1st that is also a Monday; it runs on the 1st or on a Monday. Standard cron joins only these two fields with OR. This tool computes that rule as it is, so it shows the same results as a real server.

    Worked examples

    Weekdays at 9 AM

    Input and settings
    0 9 * * 1-5
    Result
    Monday, Tuesday, Wednesday, Thursday and Friday at 9:00
    Next run: March 16, 9:00 AM (Mon)
    You can see right in the run-time list that it doesn't run on Saturday or Sunday.

    The 1st or a Monday

    Input and settings
    0 0 1 * 1
    Result
    On the 1st or on Monday at 0:00
    This is where cron is most often misread. It doesn't mean the 1st that is also a Monday; it runs if either one matches.

    What the five fields mean

    Swipe the table sideways to see the rest.

    What the five fields mean
    FieldValueExample
    Minute0-59*/15 → minutes 0, 15, 30 and 45
    Hour0-239-18 → 9 AM to 6 PM
    Day of month1-311 → the 1st of every month
    Month1-12 or JAN-DEC1,7 → January and July
    Day of week0-6 (0 = Sunday) or SUN-SAT1-5 → weekdays

    When the result isn’t what you expected

    It runs at a different time on the server

    It's a time zone difference. Here it's calculated in this browser's time zone. If the server is on UTC, it's off from Korea time by 9 hours.

    @daily doesn't work

    Aliases aren't handled. Write @daily as "0 0 * * *" and @hourly as "0 * * * *".

    No run times show up at all

    It's a condition with no match within the next 5 years. Check whether it's a rare condition like February 29, or whether the month and day don't fit together.

    I wrote 7 for the day of week

    7 is read as Sunday. It's treated the same as 0, so you can use it as it is.

    Key terms

    cron
    A scheduling feature that runs a command at set times.
    crontab
    A file where you write cron expressions and the commands to run.
    */n
    Means once every n. */15 means every 15 minutes.
    UTC
    Coordinated Universal Time. Korea Standard Time is 9 hours ahead of UTC.

    Cron Expression Builder FAQ

    Can the run times differ from my server?

    Yes. Here they're calculated in this browser's time zone. A server's cron follows the server's time zone, so if your deployment environment's time zone differs, the real run times differ too. The time zone currently in use is shown on screen.

    Does it accept notation like @daily?

    No. It handles only the standard 5 fields. Write @daily as "0 0 * * *". The 6-field form with seconds and extended syntax such as L, W and # aren't supported either.

    How does it tell me about an invalid expression?

    It points out which field is wrong and why. It tells apart numbers out of range, reversed ranges and dates that can't exist, like February 30.

    Can I run it every second?

    This tool handles only the 5 fields with minute resolution. The 6-field form that uses seconds is used by only some programs and isn't supported here.

    The description and the run times seem different

    The run times are the accurate part. The description is a readable paraphrase, so it can be lumped together for complex conditions. Judging by the run-time list is more reliable.

    How many does it show?

    It shows the next eight. Press Recalculate from now to reset the reference time.

    Jump to a topic

    • #cron expression
    • #next run times
    • #day OR weekday
    • #time zone
    • #aliases
    • #seconds

    Reviewed 2026.09.09

    Related tools

    View all
    Date Calculator — Days Between & D-DayTime & Work
    Timestamp ConverterDeveloper
    World Clock & Meeting PlannerTime & Work
    UtilPick

    Simple tools for a complicated day. A free collection of online utilities.

    Service

    About UtilPick Get the desktop app

    Help

    Request a toolReport a problemContactinfo@utilpick.com

    Policies

    Privacy Policy (Korean)Terms of Use (Korean)
    Business registration no. 365-47-00936 (Republic of Korea)
    © 2026 UtilPick
    Featured on Twelve ToolsUtilPick - Featured on Startup FameFazier badgeFeatured on LaunchIgniter
    HomeSearchSavedMore
    Schedules as an expression

    Cron expression

    e.g. 0 9 * * 1-5 · weekdays at 9 AM

    0Minute0-599Hour0-23*Day1-31*Month1-12 or JAN-DEC1-5Weekday0-6 (0 = Sunday) or SUN-SAT

    Runs at 09:00 on weekdays (Mon–Fri).

    Next run in 2 d 3 h

    Common expressions

    Supported syntax and time zones

    Handles the standard five fields (minute hour day month weekday). Six-field seconds, aliases such as @daily and extensions like L, W and # are not supported. Run times use this browser’s time zone by default. Server cron follows the server’s time zone; for schedulers that run on UTC, such as GitHub Actions, choose UTC above.

    Next run times

    In UTC · next 8 runs

    1. 1Nov 2, 2026, 9:00 AM (Mon)
    2. 2Nov 3, 2026, 9:00 AM (Tue)
    3. 3Nov 4, 2026, 9:00 AM (Wed)
    4. 4Nov 5, 2026, 9:00 AM (Thu)
    5. 5Nov 6, 2026, 9:00 AM (Fri)
    6. 6Nov 9, 2026, 9:00 AM (Mon)
    7. 7Nov 10, 2026, 9:00 AM (Tue)
    8. 8Nov 11, 2026, 9:00 AM (Wed)