About this tool
Build and validate a crontab line, read it back in plain English, preview the next run times and wrap it with logging and a flock guard.
This builder assembles a complete, safe crontab entry: it validates the five-field schedule against Vixie cron syntax (man 5 crontab), translates it into plain English, previews the next run times in your timezone, and wraps the command with output logging, a timeout and an flock guard so runs never overlap. It is made for developers and sysadmins who want more than a bare '30 2 * * * script.sh' — including the SHELL, PATH and MAILTO lines cron actually needs.
Open Crontab Line Builder on AltFTool — it loads instantly in your browser.
Paste your code or data sample into the workspace.
Pick the format, conversion, or analysis you need.
Copy the polished result straight back into your project.
Every field is checked against real cron ranges, described in words, and projected onto the next five run times.
Optional flock -n and timeout wrappers stop stacked or hung runs — the two classic cron failure modes.
Emits SHELL, PATH and MAILTO so the job runs the same under cron as it does in your shell.
Almost always PATH: cron runs commands with a minimal environment where PATH is just /usr/bin:/bin, no profile is sourced, and SHELL defaults to /bin/sh. Use absolute paths or set PATH= at the top of the crontab — the builder adds both for you.
In order: 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 are Sunday). Each accepts lists (1,15), ranges (9-17) and steps (*/5).
The job runs when EITHER matches, not both — '0 0 13 * 5' fires on every 13th AND every Friday. This union rule is in the crontab(5) man page and surprises almost everyone; leave one of the two fields as * unless you really want the union.
Wrap the command in flock: flock -n /tmp/job.lock -c 'your-command' exits immediately when a previous run still holds the lock. The builder adds this wrapper plus an optional timeout so a hung run cannot hold the lock forever.