Esta página ainda não foi traduzida para o português, por isso aparece em inglês.

Cron Expression Generator & Explainer

Build a crontab schedule without memorizing the syntax — or paste an existing expression to see what it means in plain English and exactly when it will run next.

Atualizado em

Every 15 minutes, between 09:00 and 17:59, Monday through Friday

Common schedules

Build a schedule

On

Next run times

    Edit fields

    0–59
    0–23
    1–31, L
    1–12, JAN–DEC
    0–6, SUN–SAT

    Syntax: * any · 5 value · 1-5 range · 1,15 list · */10 step · 8-18/2 stepped range · macros @hourly @daily @weekly @monthly @yearly.

    Seus dados nunca saem do seu computador. Todo o processamento acontece localmente no navegador.

    Como usar: Cron Expression Generator

    1. Pick a common schedule, or use Build a schedule to choose a frequency, weekdays and time, then click Use this schedule.
    2. Or paste an existing expression such as 30 2 * * 1 into the Cron expression box — the plain-English description updates as you type.
    3. Fine-tune individual parts in Edit fields (minute, hour, day of month, month, day of week).
    4. Check the Next run times list in local time or UTC, then copy the expression into your crontab, CI workflow or scheduler.

    What is a cron expression?

    A cron expression is a compact schedule made of five space-separated fields that tells the Unix cron daemon — and tools built on the same syntax, such as GitHub Actions, GitLab CI, Kubernetes CronJobs, Vercel and many job queues — when to run a task. This generator lets you build an expression from dropdowns, explains any expression in plain English using the open-source cRonstrue library, and calculates the upcoming run times so you can verify a schedule before it goes live.

    The five fields

    ┌──────── minute (0–59)
    │ ┌────── hour (0–23)
    │ │ ┌──── day of month (1–31)
    │ │ │ ┌── month (1–12, JAN–DEC)
    │ │ │ │ ┌ day of week (0–6, SUN–SAT)
    │ │ │ │ │
    * * * * *  command

    In the day-of-week field, 7 also means Sunday.

    Each field accepts * (every value), a single number, a range 1-5, a list 1,15,30, a step */10 or a stepped range 9-17/2. Some schedulers (Quartz, Spring, AWS EventBridge) add a leading seconds field; tick “Seconds field” to work with 6-part expressions.

    Examples

    ExpressionMeaning
    */5 * * * *Every 5 minutes
    0 * * * *At the start of every hour
    30 2 * * *Every day at 02:30
    0 9 * * 1-509:00 on weekdays
    0 0 1 * *Midnight on the 1st of every month
    0 0 1 */3 *Midnight on the first day of each quarter
    15 14 1 * *14:15 on the 1st of every month

    Common mistakes

    • Day of month and day of week. If both fields are restricted, classic cron runs the job when either matches. 0 0 13 * 5 means “every 13th and every Friday”, not “Friday the 13th”. The next-run list follows this rule.
    • Forgetting the minute. * 9 * * * runs 60 times between 09:00 and 09:59. Use 0 9 * * * to run once.
    • Time zones. Cron uses the server's time zone; GitHub Actions and most cloud schedulers use UTC. Switch the run list to UTC to compare.
    • Uneven steps. */45 in the minute field fires at :00 and :45, then :00 again — steps restart each hour, they don't carry over.
    • Quartz day numbers. Quartz counts Sunday as 1, while Unix cron uses 0 (or 7). This tool uses Unix numbering.

    Non-standard extensions

    L in the day-of-month field (last day of the month), 5L (last Friday) and 1#2 (second Monday) are supported by Quartz and some cron implementations but not by Vixie cron on Linux. They are explained and previewed here, but check that your scheduler accepts them. Need to convert a run time to an epoch value? Try the Unix Timestamp Converter or the Time Zone Converter.

    Também pesquisado como: crontab, cron generator, cron explainer, cron syntax, crontab guru, cron schedule, cron job, cron parser.

    Ferramentas que combinam com: Cron Expression Generator

    • systemd Service Generator — Run your app as a proper Linux service that starts on boot and restarts when it crashes.
    • Date Difference Calculator — Count the days between two dates — including business days and a years/months/days breakdown — add or subtract time from a date, or run a live countdown.
    • Testador de Expressões Regulares — Digite um padrão e veja as correspondências serem destacadas em tempo real no seu texto de teste.
    • HTML Formatter — Paste minified or messy markup and get clean, consistently indented HTML — including embedded <style> and <script> blocks.

    Perguntas frequentes

    What does */15 mean in cron?
    The slash is a step: */15 in the minute field means every 15th minute starting at 0, i.e. :00, :15, :30 and :45. 5-50/15 would give :05, :20, :35 and :50.
    How do I run a cron job every 30 seconds?
    Standard 5-field cron can’t go below one minute. Use a 6-field scheduler that supports seconds (*/30 * * * * *), or add two crontab lines where the second one starts with sleep 30;.
    Is cron time UTC or local?
    Classic cron uses the system time zone of the server (some versions honor a CRON_TZ variable). GitHub Actions, Kubernetes (by default) and most cloud schedulers evaluate expressions in UTC. The run list here can show either.
    What is the difference between @daily and 0 0 * * *?
    None — @daily (or @midnight) is a shorthand for 0 0 * * *. Likewise @hourly = 0 * * * *, @weekly = 0 0 * * 0, @monthly = 0 0 1 * * and @yearly = 0 0 1 1 *.
    How do I schedule a job on the last day of the month?
    Plain Unix cron has no “last day” value. Either use L if your scheduler supports it (0 0 L * *), or run daily on days 28–31 and test the date in the command: 0 0 28-31 * * [ "$(date -d tomorrow +\%d)" = "01" ] && ./job.sh.
    Why does my expression never run?
    Impossible dates such as 0 0 31 2 * (31 February) or 0 0 31 4 * (31 April) never match. The next-run list shows a warning when no run is found in the next ten years.
    Posso instalar o Cron Expression Generator como um aplicativo da web e usá-lo offline?
    Sim. O Cron Expression Generator é um aplicativo da web instalável (PWA) — instalado a partir do seu navegador, não baixado de uma loja de aplicativos. Clique em “Instalar aplicativo” na parte superior desta página no Chrome ou no Edge (Windows, macOS, Linux, ChromeOS) ou, no Android, use “Compartilhar” → “Adicionar à tela inicial” no iPhone e no iPad, ou “Arquivo” → “Adicionar ao Dock” no Safari 17+ em um Mac. Em seguida, ela se abre em uma janela própria com seu próprio ícone e, como é executada inteiramente no seu navegador, continua funcionando offline. O Firefox no desktop não permite a instalação de aplicativos da web. Como funciona a instalação.

    Ferramentas relacionadas