Skip to main content

    Cron Expression Generator

    Build cron expressions visually. Pick presets or customise each field and see a human-readable description instantly.

    No signup. 100% private. Processed in your browser.

    Quick Presets

    Custom Builder

    0-59, *, */n

    0-23, *, */n

    1-31, *

    1-12, *

    0-6 (Sun=0)

    Expression

    * * * * *

    Description

    Every minute

    What Is a Cron Expression?

    A cron expression is a string of five (or six) fields that defines a schedule. Originally built for Unix's cron daemon in the 1970s, the same syntax now powers scheduled tasks in AWS CloudWatch, GitHub Actions, Kubernetes CronJobs, Vercel, and almost every CI/CD platform.

    Think of it as a mini-language for time. Instead of saying "every weekday at 9:30 AM", you write30 9 * * 1-5. Compact, precise, and universally understood by scheduling systems worldwide.

    The tricky part is getting the syntax right — a misplaced asterisk can turn a daily job into one that runs every minute. That's where this generator helps: pick your schedule visually and get a validated expression.

    Cron Field Reference

    FieldAllowed ValuesSpecial CharactersExample
    Minute0-59* , - /*/15 = every 15 minutes
    Hour0-23* , - /9-17 = 9 AM to 5 PM
    Day of Month1-31* , - / L W1,15 = 1st and 15th
    Month1-12 or JAN-DEC* , - /1-6 = January to June
    Day of Week0-6 or SUN-SAT* , - / L #1-5 = Monday to Friday

    What this means for you: The asterisk (*) means "every", the slash (/) means "every Nth", the comma (,) means "and", and the dash (-) means "through". Master those four and you can read any cron expression.

    Common Cron Expressions

    ScheduleExpressionUse Case
    Every minute* * * * *Health checks, real-time monitors
    Every 5 minutes*/5 * * * *API polling, cache refresh
    Every hour0 * * * *Log rotation, metric aggregation
    Daily at midnight0 0 * * *Database backups, report generation
    Daily at 9 AM0 9 * * *Morning digest emails, Slack summaries
    Weekdays at 9 AM0 9 * * 1-5Business-hours-only tasks
    Every Monday at 8 AM0 8 * * 1Weekly reports, sprint reminders
    1st of every month0 0 1 * *Monthly invoicing, billing cycles
    Every 6 hours0 */6 * * *Data syncs, sitemap regeneration
    Quarterly (Jan/Apr/Jul/Oct 1st)0 0 1 1,4,7,10 *Quarterly reviews, compliance reports

    Common Cron Mistakes

    Forgetting Timezone

    Cron expressions don't include timezone information. "0 9 * * *" means 9 AM in whatever timezone the server uses — which might be UTC, not your local time. Always check your platform's timezone setting.

    Day-of-Month vs Day-of-Week Conflict

    Setting both day-of-month and day-of-week creates an OR condition in standard cron (it runs on either match). Some systems treat it as AND. Know your platform's behaviour.

    Running Too Frequently

    * * * * * runs every single minute — 1,440 times per day. Great for testing, terrible for production API calls. Always start with a longer interval and decrease.

    Overlapping Executions

    If your job takes 10 minutes but runs every 5 minutes, you'll have overlapping instances. Use a lock mechanism or ensure your schedule interval exceeds the maximum execution time.

    Related Tools

    How to use this tool

    1

    Select a preset schedule or enter custom values in the 5 fields

    2

    Read the human-readable description to verify your schedule

    3

    Click Copy to grab the cron expression for your config

    Common uses

    • Scheduling automated database backups at midnight
    • Setting up CI/CD pipeline triggers on specific days
    • Configuring monitoring alerts at regular intervals
    • Automating report generation on the first of each month

    Share this tool

    Frequently Asked Questions