TotalApp Docs

Cron Builder

Build, validate, and describe cron expressions with a visual editor.

Overview

The Cron Builder gives you a visual way to construct and understand cron expressions without memorizing the field syntax. Pick values for each time field using dropdowns and toggles, read the plain-English description that updates live, validate the expression, and preview the next five scheduled run times. Copy the finished expression to use in your scheduler, CI/CD pipeline, or server crontab.

Standard 5-Field Cron

The Cron Builder works with the standard Unix 5-field format: minute hour day-of-month month day-of-week. It also supports the 6-field extended format used by some schedulers that adds a seconds field at the start.

Using the Visual Editor

The editor is divided into five tabs — one for each cron field. Click a tab to configure that field.

Field Modes

Each field can be set to one of three modes using the toggle buttons at the top of the tab:

  • Every — the field matches every value (rendered as *). Example: every minute, every hour.
  • Specific — choose exact values from a checkbox grid. Example: minutes 0, 15, 30, 45.
  • Step — every Nth value from a starting point (rendered as */N or start/N). Example: every 5 minutes (*/5), every 3 hours starting at hour 6 (6/3).

Human-Readable Description

The description bar below the field tabs shows a plain-English sentence describing the full expression as you build it. Examples:

  • 0 9 * * 1-5 → "At 09:00 AM, Monday through Friday"
  • */15 * * * * → "Every 15 minutes"
  • 0 0 1 * * → "At midnight on the 1st of every month"

Cron Expression Reference

FieldPositionAllowed RangeSpecial CharactersExamples
Minute1st0 – 59* , - /0 */5 0,30
Hour2nd0 – 23* , - /9 0-6 */2
Day of Month3rd1 – 31* , - / ? L1 15,28 L
Month4th1 – 12 (or JAN–DEC)* , - /1 3,6,9,12 */3
Day of Week5th0 – 7 (0 and 7 = Sunday) or SUN–SAT* , - / ? L #1-5 MON 5#2

Special character meanings: * = any value  |  , = list separator  |  - = range  |  / = step  |  L = last (last day of month or last weekday)  |  # = Nth weekday of month (e.g. 5#2 = second Friday)

Next Run Preview

After the expression is valid, the Next Runs panel shows the next 5 scheduled execution times relative to the current local time. Times are displayed in both your local timezone and UTC so you can verify the schedule is correct for distributed systems running in different regions.

Timezone Offset

Server cron jobs typically run in UTC. Always check the UTC column in the Next Run preview if your job runs on a server — what looks like 9 AM local time may be 1 AM or 6 PM UTC depending on your offset.

Common Schedules

DescriptionExpression
Every minute* * * * *
Every 5 minutes*/5 * * * *
Every 15 minutes*/15 * * * *
Every hour (on the hour)0 * * * *
Every day at midnight0 0 * * *
Every day at 9 AM0 9 * * *
Weekdays at 9 AM0 9 * * 1-5
Every Monday at 8 AM0 8 * * 1
1st of every month at midnight0 0 1 * *
Every quarter (Jan, Apr, Jul, Oct) at midnight0 0 1 1,4,7,10 *
Every Sunday at 2 AM0 2 * * 0
Twice a day at noon and midnight0 0,12 * * *

AI Assistant

Cron Builder has its own AI Assistant panel, opened from the right edge of the screen. It reads your current expression, whether it's valid, and its next scheduled run times, then helps you understand or refine your schedule. Example prompts:

Explain this schedule Validate this expression Suggest alternative schedules Convert a plain-English schedule to cron

FAQ

What does the validation check?
Validation checks that each field value is within its allowed range, that step values are positive integers, that range start is less than range end, and that conflicting ? usage (day-of-month and day-of-week cannot both be ?) is flagged. Validation does not check whether the expression will ever fire (e.g. Feb 30 is valid syntax but will never trigger).
Does the Cron Builder support seconds?
Yes — toggle Extended (6-field) in the toolbar to add a seconds field as the first position. The 6-field format is supported by AWS EventBridge, Quartz Scheduler, and Spring @Scheduled among others. Standard Unix crontab uses 5 fields only and does not support sub-minute scheduling.
Can I paste an existing expression to parse it?
Yes. Click Parse Expression and paste your existing cron string. The builder populates each field tab to reflect the parsed values and the description updates immediately. This is useful for understanding expressions written by others.