Expression
*/15 * * * *
Every 15 minutes.
Free · Instant · No signup
5-field crontab builder, English explanation, and next 5 local run times.
Expression
*/15 * * * *
Every 15 minutes.
Next 5 runs (local timezone)
A cron line is five fields and a command. The command is your problem. The five fields are easy to get wrong: minute 60, hour 24, day 31 in February, */0, or a sixth seconds field copied from Quartz. Hosted "cron translators" that POST the string are a poor fit when the rest of the paste is an internal job name. This page parses in the tab, explains the schedule in English, and lists the next five timestamps using the clock and timezone of this device.
Use the visual builder when you want a field at a time (minute, hour, day of month, month, day of week). Use raw when you already have a string from Ansible, Kubernetes CronJob, or a crontab dump. The two views stay in sync. Presets cover the usual ops defaults: every minute, every 15 minutes, daily at midnight, weekly on Sunday, monthly on the 1st.
minute hour day-of-month month day-of-week*/15 * * * *0 0 1 * *
Lists, ranges, and steps are first-class: 1,15,30, 1-5, */10, 0-30/5. Month and weekday aliases (JAN-DEC, SUN-SAT) expand to numbers before bounds checks. Sunday is 0 or 7. Out-of-range values and zero steps fail into a live alert instead of silently wrapping.
Classic Vixie crontab treats a restricted day-of-month together with a restricted day-of-week as OR: the job runs if either matches. If only one of those fields is *, both constraints apply (AND). This page follows that rule when it walks the next five minutes. Quartz and some cloud schedulers do not. If your platform documents AND for both fields, do not copy these timestamps blindly.
February 31 with day-of-week unrestricted cannot run. The parser flags that as an impossible calendar date. A month set that has no day matching the DOM list (for example DOM 31 and month 2 only) is the same class of error. When day-of-week is also restricted, a Sunday in February can still fire even if the 31st never exists. The next-five list is the proof, not the English sentence.
The walker starts at the next full local minute and steps one minute at a time for up to five years. Rare schedules still resolve. If five matches are not found, the list says the combination may never match. Copy expression writes the 5-field string. Reset returns */15 * * * *.
This is not Quartz 6/7-field cron, not systemd OnCalendar=, not AWS EventBridge rate expressions, and not a crontab installer. Seconds, years, L, W, and # are out of scope. Hash randomization of H in Jenkins is out of scope. Confirm the line against the daemon that will run it. For JSON payloads rather than schedules, use the JSON Formatter and Minifier. For tokens, use the JWT Decoder.
Timezones are the browser's local zone. A laptop in America/New_York and a container set to UTC will disagree on wall-clock hours. If the job must fire at 00:00 UTC, set the device zone to UTC before you trust the list, or convert after. DST transitions can skip or repeat a local hour. The walker uses this JavaScript Date implementation, which is enough to catch "never" and "every 15 minutes" and is not a full tzdb audit.
No. Parsing, humanization, and the next-five timestamp walk run in your browser. The expression never leaves the page. That is the point for production crontab lines that include internal job names in comments you paste nearby.
Standard 5-part crontab: minute hour day-of-month month day-of-week. Lists (1,15,30), ranges (1-5), steps (*/10 or 0-30/5), and aliases JAN-DEC and SUN-SAT are accepted. A sixth seconds field is rejected. 0 and 7 both mean Sunday.
The walker starts at the next full local minute on this device and tests each minute until five matches or five years elapse. Day-of-month and day-of-week both restricted uses classic crontab OR (either field may match). Times print in your timezone, not UTC, unless the device clock is UTC.
Wrong field counts, minute 60, hour 25, and zero steps (*/0) raise a live alert. February 31 with day-of-week unrestricted is flagged as an impossible calendar date. If no fire time exists in five years, the list says so instead of hanging the tab.