Free tools

Cron expression generator

Build a cron schedule or paste one to see what it means and when it runs next. Free, in your browser, no signup.

Weekdays

Expression

*/15 * * * *

Next runs

    Snippet

    Runs in your browser. Nothing you enter is stored.

    Know when this job fails

    Wrap the schedule with a Trigv call, or generate a full alert script. The example uses TRIGV_API_KEY from the environment.

    */15 * * * * /path/job.sh && curl -sS -X POST https://api.trigv.com/v1/events -H "Content-Type: application/json" -H "Authorization: Bearer $TRIGV_API_KEY" -d '{"channel":"cron","title":"Cron job finished","level":"success"}' || curl -sS -X POST https://api.trigv.com/v1/events -H "Content-Type: application/json" -H "Authorization: Bearer $TRIGV_API_KEY" -d '{"channel":"cron","title":"Cron job failed","level":"error"}'

    How to use it

    1. Choose Build to make a schedule, or Explain to paste one you already have.
    2. Pick the format your scheduler actually uses. GitHub Actions, Cloudflare, and Kubernetes want five fields.
    3. Check the plain-English line and the next run times in your timezone.
    4. Copy the snippet, or open the cron alert script if you want a push when that job fails.

    About this tool

    A cron expression is the usual way to tell a server when a job should run. The standard form has five fields: minute, hour, day of month, month, and day of week. A star means “every.” A slash means a step, so */5 in the minute field is every five minutes. A comma lists values, and a hyphen is a range.

    The same five characters do not mean the same thing on every system. GitHub Actions, Cloudflare Cron Triggers, and Kubernetes CronJob use the five-field form in UTC. Quartz and some Java schedulers add a seconds field and use ? when day of month or day of week is left unspecified. AWS EventBridge uses minutes, hours, day of month, month, day of week, and year, and it also uses ?.

    The generator on this page uses cron-parser for the next run times and cronstrue for the sentence. Both libraries are MIT licensed. If a field is out of range, the error is the one the parser returns, so you can see which part is wrong.

    A schedule that looks right can still fail quietly. The job can overlap itself, run in UTC when you meant local time, or exit non-zero with nobody watching. The result on this page includes a crontab line that calls Trigv on success or failure. The key stays in TRIGV_API_KEY. Do not paste a real key into the page.

    Questions

    What is a cron expression?

    It is a compact schedule. Five fields usually mean minute, hour, day of month, month, and day of week. A star means every value of that field.

    Why do GitHub Actions and my laptop disagree?

    GitHub Actions and Cloudflare Cron Triggers evaluate the expression in UTC. A laptop crontab uses the machine timezone unless you set it.

    Can standard cron run on the last day of the month?

    No. There is no last-day token in the five-field format. Run on the 28th through the 31st and have the script exit unless tomorrow is the 1st.

    Does this send my expression anywhere?

    No. The schedule is read in your browser. The share link keeps it in the URL hash so it is not a separate indexable page.

    How do I hear about it when the job fails?

    The snippet under the result wraps the command with a Trigv call, or use the cron alert script tool to generate a wrapper that reads TRIGV_API_KEY from the environment.