# Interpretador de cron online

> O interpretador de cron traduz uma expressão cron, como */15 9-17 * * 1-5, para uma frase em português e mostra os próximos horários em que ela vai executar, no seu fuso horário ou em UTC. Ele lê o cron padrão de 5 campos (minuto, hora, dia do mês, mês e dia da semana) e aponta o campo com erro. Tudo roda no seu navegador.

- Endereço oficial: https://pradev.com.br/interpretador-de-cron
- Categoria: JSON, dados e formatadores
- Tipo: Utilitário
- Atualizado em: 2026-09-30
- Autor: Leonardo Gaertner (https://pradev.com.br/sobre)
- Preço: grátis, sem cadastro. O processamento acontece no navegador de quem usa.

## Como usar

1. Digite ou cole a expressão cron, ou clique em um dos exemplos.
2. Leia a explicação em português e confira o valor que cada campo assume.
3. Veja as próximas 10 execuções e alterne entre o seu fuso horário e UTC.

## Como funciona

Uma expressão cron tem cinco campos separados por espaço, nesta ordem: minuto (0 a 59), hora (0 a 23), dia do mês (1 a 31), mês (1 a 12, ou JAN a DEC) e dia da semana (0 a 6, ou SUN a SAT, em que 0 e 7 são domingo). Cada campo aceita *, que é qualquer valor, listas com vírgula (1,15), faixas (9-17) e passos (*/10, que é de 10 em 10).

Atalhos como @hourly, @daily, @weekly, @monthly e @yearly equivalem a expressões prontas, como 0 0 * * * para @daily. O @reboot roda uma vez quando o sistema inicia e não tem horários para calcular.

Quando o dia do mês e o dia da semana estão os dois restritos, o cron padrão executa se qualquer um dos dois casar. Assim, 0 0 13 * 5 roda todo dia 13 e também toda sexta-feira, e não só nas sextas-feiras 13. Se um dos dois começa com *, os dois precisam casar. O cron roda no fuso horário do servidor ou do agendador, então confira qual é o dele: o GitHub Actions, por exemplo, usa UTC.

### Exemplo

```text
Expressão: */15 9-17 * * 1-5
Campos: minuto */15, hora 9-17, dia do mês *, mês *, dia da semana 1-5
Significado: a cada 15 minutos, entre 09:00 e 17:59, de segunda-feira a sexta-feira.
```

## Em código

Muitos agendadores, como o GitHub Actions, rodam o cron em UTC. Esta função converte um horário de Brasília (UTC-3) para a expressão em UTC, ajustando o dia da semana quando passa da meia-noite.

```javascript
// Brasília é UTC-3 o ano todo (não há horário de verão desde 2019).
// diasDaSemana: '*' ou uma lista como '1,3,5' (0 = domingo).
function cronDeBrasilia(minuto, hora, diasDaSemana = '*') {
  const horaUtc = hora + 3;
  let dias = diasDaSemana;
  // Das 21h em diante, em UTC já é o dia seguinte: o dia da semana anda junto
  if (horaUtc >= 24 && dias !== '*') {
    dias = dias.split(',').map((d) => (Number(d) + 1) % 7).join(',');
  }
  return `${minuto} ${horaUtc % 24} * * ${dias}`;
}
```

_JavaScript_

```python
# Brasília é UTC-3 o ano todo (não há horário de verão desde 2019).
# dias_da_semana: "*" ou uma lista como "1,3,5" (0 = domingo).
def cron_de_brasilia(minuto: int, hora: int, dias_da_semana: str = "*") -> str:
    hora_utc = hora + 3
    dias = dias_da_semana
    # Das 21h em diante, em UTC já é o dia seguinte: o dia da semana anda junto
    if hora_utc >= 24 and dias != "*":
        dias = ",".join(str((int(d) + 1) % 7) for d in dias.split(","))
    return f"{minuto} {hora_utc % 24} * * {dias}"
```

_Python_

```php
<?php
// Brasília é UTC-3 o ano todo (não há horário de verão desde 2019).
// $diasDaSemana: '*' ou uma lista como '1,3,5' (0 = domingo).
function cronDeBrasilia(int $minuto, int $hora, string $diasDaSemana = '*'): string
{
    $horaUtc = $hora + 3;
    $dias = $diasDaSemana;
    // Das 21h em diante, em UTC já é o dia seguinte: o dia da semana anda junto
    if ($horaUtc >= 24 && $dias !== '*') {
        $dias = implode(',', array_map(fn($d) => ((int) $d + 1) % 7, explode(',', $dias)));
    }
    return sprintf('%d %d * * %s', $minuto, $horaUtc % 24, $dias);
}
```

_PHP_

## Perguntas frequentes

### Por que a minha expressão executa mais vezes do que eu esperava?

Provavelmente porque o dia do mês e o dia da semana estão os dois preenchidos. No cron padrão, basta um dos dois casar. Para executar só quando os dois casam, a solução comum é deixar um deles como * e checar a outra condição dentro do próprio script.

### Qual a diferença entre cron de 5 e de 6 campos?

O cron padrão do Unix tem 5 campos. O Quartz e o Spring acrescentam os segundos no começo, e o AWS EventBridge usa 6 campos com o ano no fim e exige ? em um dos campos de dia. Esta ferramenta lê só o cron de 5 campos e avisa quando recebe outro formato.

### */7 significa mesmo a cada 7 minutos?

Quase. O passo reinicia a cada hora: roda nos minutos 0, 7, 14 e assim até 56, e volta ao minuto 0 da hora seguinte, só 4 minutos depois. Para intervalos exatos, use passos que dividem 60, como */5, */10, */15 e */30.

### Em que fuso horário o cron roda?

No do servidor ou do serviço que executa o agendamento, que costuma ser UTC em serviços de nuvem e de CI. A ferramenta mostra os próximos horários no seu fuso e em UTC para você comparar.

### O que significam 0 e 7 no dia da semana?

Os dois são domingo. Por isso 0-6 e 1-7 cobrem a semana inteira, e 1-5 vai de segunda a sexta.

## Fontes

- [crontab(5): formato do arquivo crontab (manual do Linux)](https://man7.org/linux/man-pages/man5/crontab.5.html)

## Guias

- [Expressão cron: como ler, escrever e acertar o fuso horário](https://pradev.com.br/guias/expressao-cron-como-ler-e-escrever): Os cinco campos do cron, exemplos prontos, a regra do dia do mês com dia da semana e como converter o horário de Brasília para UTC, com código testado.

## Ferramentas relacionadas

- [Conversor de Timestamp Unix](https://pradev.com.br/timestamp-converter): Converta timestamp Unix (segundos ou milissegundos) em data e hora, e data em timestamp. Grátis, com o seu fuso horário e em UTC.
- [Testador de Regex](https://pradev.com.br/regex-tester): Teste expressões regulares online: destaque dos casamentos, grupos e flags. Usa o motor do JavaScript. Grátis, direto no navegador.
- [Conversor JSON para YAML](https://pradev.com.br/conversor-json-para-yaml): Converta JSON em YAML online, com indentação de 2 ou 4 espaços. Útil para Kubernetes, Docker Compose e CI. Grátis, no navegador.
- [Formatador JSON](https://pradev.com.br/formatador-json): Formate, indente, minifique e valide JSON online. Mostra a linha e a coluna do erro. Grátis, e o que você cola não sai do navegador.
- [Comparador JSON](https://pradev.com.br/comparador-json): Compare dois JSON online e veja o caminho de cada chave adicionada, removida ou alterada. A ordem das chaves não conta. Grátis.
- [Conversor CSV para JSON](https://pradev.com.br/conversor-csv-para-json): Converta CSV em JSON online: detecta o separador (vírgula ou ponto e vírgula) e usa o cabeçalho como chaves. Grátis, no navegador.
