Developer Tools
Crontab Explainer
Paste a cron expression and get a plain-English description, field breakdown, and the next 10 run times in UTC or any time zone. No signup.
Paste a 5-field crontab (minute hour dom month dow) or a 6-field Quartz / Spring expression (with seconds prefix). Aliases such as @daily and named tokens (MON-FRI, JAN) are accepted.
Every 15 minutes.
Fires at minute 0, 15, 30, 45 of every hour.
Next 10 runs
Calculated against the time zone you select. DST transitions are handled by the browser's Intl engine.
- #1Fri, May 22, 2026, 17:00:00 UTCin 12 minutes
- #2Fri, May 22, 2026, 17:15:00 UTCin 27 minutes
- #3Fri, May 22, 2026, 17:30:00 UTCin 42 minutes
- #4Fri, May 22, 2026, 17:45:00 UTCin 57 minutes
- #5Fri, May 22, 2026, 18:00:00 UTCin 1 hour
- #6Fri, May 22, 2026, 18:15:00 UTCin 1 hour
- #7Fri, May 22, 2026, 18:30:00 UTCin 2 hours
- #8Fri, May 22, 2026, 18:45:00 UTCin 2 hours
- #9Fri, May 22, 2026, 19:00:00 UTCin 2 hours
- #10Fri, May 22, 2026, 19:15:00 UTCin 2 hours
Try a sample
Load one of the most common crontab patterns to see how the explanation, field breakdown, and next-run preview update.
Cron syntax cheat sheet
Field positions
# Standard 5-field crontab * * * * * | | | | | | | | | +-- day of week (0-6, SUN-SAT, 0 or 7 = Sunday) | | | +----- month (1-12, JAN-DEC) | | +-------- day of month (1-31) | +----------- hour (0-23) +-------------- minute (0-59) # 6-field Quartz / Spring style adds seconds at the front: * * * * * * | | | | | +-- day of week | | | | +----- month | | | +-------- day of month | | +----------- hour | +-------------- minute +----------------- second (0-59)
Operators
*wildcard. Matches every value in the field.,list separator.1,3,5matches 1, 3, and 5.-range.1-5matches 1, 2, 3, 4, 5./step.*/15matches every 15.5/15means every 15 starting at 5.?Quartz wildcard placeholder. Only valid in DOM or DOW.
Aliases
@hourly=0 * * * *@daily=0 0 * * *@weekly=0 0 * * 0@monthly=0 0 1 * *@yearly=0 0 1 1 *
Quartz-only operators L, W, and # are not supported by standard Unix cron and are not parsed here. Use the Vixie syntax that Linux, macOS, Docker, GitHub Actions, Kubernetes CronJobs, and most schedulers actually run.
How to use
- Paste or type a cron expression into the input. The tool accepts both 5-field Vixie crontab and 6-field Quartz / Spring style with seconds.
- Read the plain-English summary at the top. A green banner shows the format detected, the alias if any, and a known-pattern label when the expression matches a common shape like Every 15 minutes or Weekdays at 9 AM.
- Pick the time zone you care about. UTC is the default. The browser's local zone is added automatically; you can also choose any common IANA zone.
- Review the next 10 run times. Each row shows the absolute wall-clock time in the selected zone and a relative time from now.
- Open the field breakdown panel to see what each token expands to. Use it to debug a tricky range, step, or list.
- Load a sample (Every minute, Every 15 minutes, Weekdays at 9 AM, Twice a day, First of the month, Every Sunday at 02:30, Quartz seconds, or @daily) to see how the explanation, breakdown, and runs update.
- Copy the expression or the full summary (description plus next runs) and paste it into your scheduler config, README, or pull request.
About this tool
Crontab Explainer turns any cron expression into a plain-English sentence, a field-by-field breakdown, and a preview of the next ten scheduled runs in UTC or any IANA time zone. It accepts the standard 5-field Vixie format used by Linux crontab, macOS launchd-style wrappers, Docker, GitHub Actions, GitLab CI, Kubernetes CronJobs, and most workflow runners, and the 6-field Quartz and Spring format used by Java schedulers (the extra leading field is seconds). Named tokens are recognized (JAN through DEC for months, SUN through SAT for days, with 0 or 7 both treated as Sunday for Vixie compatibility), and Vixie nicknames such as @hourly, @daily, @midnight, @weekly, @monthly, @yearly, and @annually are expanded to their canonical form before parsing. Every cron operator is supported: the * wildcard, comma-separated lists (1,3,5), ranges (1-5), and steps with both * (*/15) and a base value (5/15 meaning every 15 starting at 5). The Quartz ? placeholder is accepted in the day-of-month and day-of-week fields. The classic Vixie OR rule for day-of-month and day-of-week is applied (when both fields are restricted, the expression fires when either field matches), which is the source of the most common cron surprise. Invalid expressions are flagged with a clear error and the specific field that failed, so you can fix the source instead of guessing. The next-run preview walks the calendar with smart skipping over whole months and days that cannot match, and honors daylight-saving transitions in any IANA zone through the browser's Intl engine, so a 02:30 daily job in Europe/Berlin correctly skips the missing hour on the spring-forward Sunday and fires twice on the fall-back Sunday only when the expression actually allows it. Common patterns (every minute, every 5 minutes, weekdays at 9 AM, first of the month at midnight, and the standard nicknames) are recognized and labelled so you can scan a list of crons at a glance. Everything runs locally; the expressions you paste here, including private repository schedules, never leave your browser.
Free to use. Works in your browser. No signup, no login.
Related tools
You may also like
Cron Expression Generator
Build and explain cron expressions with plain English and a next-run preview.
Open tool
Date & TimeTime Zone Converter
Compare a moment across many time zones with offsets and DST.
Open tool
Date & TimeUnix Timestamp Converter
Convert epoch timestamps to dates and back.
Open tool
Date & TimeDate Difference Calculator
Days, weeks, months, working days, and weekday between any two dates.
Open tool
Date & TimeICS Generator
Build a valid .ics calendar file with recurrence and reminders.
Open tool