# Dias úteis e feriados nacionais

> Esta página lista os feriados nacionais e os pontos facultativos federais do ano, com o dia da semana de cada um, e mostra quantos dias úteis tem cada mês e o ano inteiro. As datas móveis, como Carnaval, Sexta-feira Santa e Corpus Christi, são calculadas a partir da Páscoa, e você pode escolher qualquer ano de 1990 a 2200.

- Endereço oficial: https://pradev.com.br/dias-uteis-e-feriados
- Categoria: Data e hora
- Tipo: Utilitário
- Atualizado em: 2026-10-01
- 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. Veja os feriados do ano atual, que já aparecem na página.
2. Para outro ano, digite o ano no campo.
3. Marque "Considerar o Carnaval como folga" se a sua empresa ou o seu banco não funciona no Carnaval, e confira os dias úteis de cada mês.

## Como funciona

Os feriados nacionais de data fixa são Confraternização Universal (1º/01), Tiradentes (21/04), Dia do Trabalho (1º/05), Independência (07/09), Nossa Senhora Aparecida (12/10), Finados (02/11), Proclamação da República (15/11), Consciência Negra (20/11, desde 2024) e Natal (25/12). A Sexta-feira Santa é móvel: cai dois dias antes da Páscoa.

A Páscoa é o primeiro domingo depois da lua cheia que segue o equinócio de março, e a página a calcula pelo algoritmo de Meeus para o calendário gregoriano. A partir dela vêm o Carnaval (47 dias antes), a Quarta-feira de Cinzas e o Corpus Christi (60 dias depois), que são pontos facultativos no governo federal. Dias úteis são os dias de segunda a sexta que não são feriado nacional.

### Feriados nacionais de 2026 em segunda ou sexta-feira

```text
03/04 (sexta-feira): Sexta-feira Santa
01/05 (sexta-feira): Dia do Trabalho
07/09 (segunda-feira): Independência do Brasil
12/10 (segunda-feira): Nossa Senhora Aparecida
02/11 (segunda-feira): Finados
20/11 (sexta-feira): Consciência Negra
25/12 (sexta-feira): Natal
```

## Em código

Para contar dias úteis em código, calcule a Páscoa do ano (dela saem a Sexta-feira Santa e o Carnaval), monte a lista de feriados e pule sábados, domingos e as datas da lista.

```javascript
// Datas em UTC e no formato AAAA-MM-DD, para o fuso da máquina não mudar o dia
const DIA_MS = 86_400_000;
const iso = (d) => d.toISOString().slice(0, 10);

// Domingo de Páscoa no calendário gregoriano (algoritmo de Meeus/Jones/Butcher)
function pascoa(ano) {
  const a = ano % 19;
  const b = Math.floor(ano / 100);
  const c = ano % 100;
  const g = Math.floor((b - Math.floor((b + 8) / 25) + 1) / 3);
  const h = (19 * a + b - Math.floor(b / 4) - g + 15) % 30;
  const l = (32 + 2 * (b % 4) + 2 * Math.floor(c / 4) - h - (c % 4)) % 7;
  const m = Math.floor((a + 11 * h + 22 * l) / 451);
  const n = h + l - 7 * m + 114;
  return new Date(Date.UTC(ano, Math.floor(n / 31) - 1, (n % 31) + 1));
}

function feriadosNacionais(ano, { comCarnaval = false } = {}) {
  const fixos = ['01-01', '04-21', '05-01', '09-07', '10-12', '11-02', '11-15', '12-25'];
  if (ano >= 2024) fixos.push('11-20'); // Consciência Negra, feriado nacional desde 2024
  const p = pascoa(ano).getTime();
  const datas = fixos.map((md) => `${ano}-${md}`);
  datas.push(iso(new Date(p - 2 * DIA_MS))); // Sexta-feira Santa
  // Carnaval é ponto facultativo, mas bancos e muitas empresas não abrem
  if (comCarnaval) datas.push(iso(new Date(p - 48 * DIA_MS)), iso(new Date(p - 47 * DIA_MS)));
  return new Set(datas);
}

function ehDiaUtil(data, opcoes) {
  const d = new Date(`${data}T00:00:00Z`);
  const semana = d.getUTCDay(); // 0 = domingo, 6 = sábado
  return semana !== 0 && semana !== 6 && !feriadosNacionais(d.getUTCFullYear(), opcoes).has(data);
}

// Soma n dias úteis a uma data (n negativo volta no tempo)
function somarDiasUteis(data, n, opcoes) {
  let d = new Date(`${data}T00:00:00Z`);
  const passo = n >= 0 ? 1 : -1;
  for (let faltam = Math.abs(n); faltam > 0; ) {
    d = new Date(d.getTime() + passo * DIA_MS);
    if (ehDiaUtil(iso(d), opcoes)) faltam--;
  }
  return iso(d);
}
```

_JavaScript_

```python
from datetime import date, timedelta


def pascoa(ano: int) -> date:
    """Domingo de Páscoa no calendário gregoriano (algoritmo de Meeus/Jones/Butcher)."""
    a, b, c = ano % 19, ano // 100, ano % 100
    h = (19 * a + b - b // 4 - (b - (b + 8) // 25 + 1) // 3 + 15) % 30
    l = (32 + 2 * (b % 4) + 2 * (c // 4) - h - c % 4) % 7
    m = (a + 11 * h + 22 * l) // 451
    n = h + l - 7 * m + 114
    return date(ano, n // 31, n % 31 + 1)


def feriados_nacionais(ano: int, com_carnaval: bool = False) -> set[date]:
    fixos = [(1, 1), (4, 21), (5, 1), (9, 7), (10, 12), (11, 2), (11, 15), (12, 25)]
    if ano >= 2024:
        fixos.append((11, 20))  # Consciência Negra
    p = pascoa(ano)
    datas = {date(ano, m, d) for m, d in fixos} | {p - timedelta(days=2)}
    if com_carnaval:
        datas |= {p - timedelta(days=48), p - timedelta(days=47)}
    return datas


def eh_dia_util(d: date, com_carnaval: bool = False) -> bool:
    return d.weekday() < 5 and d not in feriados_nacionais(d.year, com_carnaval)


def somar_dias_uteis(d: date, n: int, com_carnaval: bool = False) -> date:
    passo = 1 if n >= 0 else -1
    faltam = abs(n)
    while faltam:
        d += timedelta(days=passo)
        if eh_dia_util(d, com_carnaval):
            faltam -= 1
    return d
```

_Python_

```php
<?php
// Domingo de Páscoa (Meeus/Jones/Butcher).
// A função easter_date do PHP também resolve, mas depende da extensão calendar.
function pascoa(int $ano): DateTimeImmutable
{
    $a = $ano % 19;
    $b = intdiv($ano, 100);
    $c = $ano % 100;
    $h = (19 * $a + $b - intdiv($b, 4) - intdiv($b - intdiv($b + 8, 25) + 1, 3) + 15) % 30;
    $l = (32 + 2 * ($b % 4) + 2 * intdiv($c, 4) - $h - $c % 4) % 7;
    $m = intdiv($a + 11 * $h + 22 * $l, 451);
    $n = $h + $l - 7 * $m + 114;
    return new DateTimeImmutable(sprintf('%04d-%02d-%02d', $ano, intdiv($n, 31), $n % 31 + 1));
}

function feriadosNacionais(int $ano): array
{
    $datas = array_map(
        fn($md) => "$ano-$md",
        ['01-01', '04-21', '05-01', '09-07', '10-12', '11-02', '11-15', '12-25']
    );
    if ($ano >= 2024) {
        $datas[] = "$ano-11-20"; // Consciência Negra
    }
    $datas[] = pascoa($ano)->modify('-2 days')->format('Y-m-d'); // Sexta-feira Santa
    return $datas;
}

function ehDiaUtil(string $data): bool
{
    $d = new DateTimeImmutable($data);
    $feriados = feriadosNacionais((int) $d->format('Y'));
    // N: de 1 (segunda) a 7 (domingo)
    return (int) $d->format('N') < 6 && !in_array($data, $feriados, true);
}
```

_PHP_

## Perguntas frequentes

### A Sexta-feira Santa é feriado nacional?

Na prática, sim: é feriado em todo o país. Pela Lei 9.093, ela é um dos feriados religiosos definidos pelos municípios, que a incluem por tradição. Por isso aparece na lista junto com os feriados nacionais.

### Por que a lista não tem os feriados do meu estado e da minha cidade?

Porque eles mudam de lugar para lugar, como 9 de julho em São Paulo e 20 de janeiro no Rio de Janeiro. A página mostra só o que vale no país todo. Desconte os feriados locais da contagem de dias úteis.

### Quando a Consciência Negra virou feriado nacional?

Em 2024. A Lei 14.759, de dezembro de 2023, tornou o 20 de novembro feriado nacional. Antes, ele era feriado só em alguns estados e cidades, e por isso a página não o inclui nos anos anteriores a 2024.

### Como incluir feriados no cálculo de dias úteis em código?

Calcule a Páscoa do ano, monte a lista de feriados fixos e móveis e pule os sábados, domingos e as datas da lista. A seção Em código, nesta página, mostra as funções em JavaScript, Python e PHP.

## Fontes

- [Lei nº 662/1949: feriados nacionais](https://www.planalto.gov.br/ccivil_03/leis/l0662.htm)
- [Lei nº 6.802/1980: feriado de Nossa Senhora Aparecida](https://www.planalto.gov.br/ccivil_03/leis/l6802.htm)
- [Lei nº 9.093/1995: feriados civis e religiosos (inclui a Sexta-Feira da Paixão)](https://www.planalto.gov.br/ccivil_03/leis/l9093.htm)
- [Lei nº 14.759/2023: Dia Nacional de Zumbi e da Consciência Negra](https://www.planalto.gov.br/ccivil_03/_ato2023-2026/2023/lei/l14759.htm)

## Guias

- [Como calcular dias úteis com os feriados nacionais](https://pradev.com.br/guias/como-calcular-dias-uteis-com-feriados): Como calcular dias úteis e prazos com os feriados nacionais do Brasil, incluindo Sexta-feira Santa pela Páscoa e Consciência Negra, em JavaScript, Python e PHP.

## Ferramentas relacionadas

- [Contar Dias entre Datas](https://pradev.com.br/contar-dias-entre-datas): Conte os dias corridos e os dias úteis entre duas datas, descontando fins de semana e feriados nacionais. Opção de contagem inclusiva.
- [Somar Dias em Datas](https://pradev.com.br/somar-dias-em-datas): Some dias corridos, dias úteis, semanas, meses ou anos a uma data e veja o dia da semana do resultado. Pula fins de semana e feriados.
- [Subtrair Dias em Datas](https://pradev.com.br/subtrair-dias-em-datas): Descubra a data de X dias, dias úteis, semanas, meses ou anos atrás, com o dia da semana. Pula fins de semana e feriados nos dias úteis.
- [Diferença entre Datas](https://pradev.com.br/diferenca-entre-datas): Calcule a diferença entre duas datas em anos, meses e dias, e o total em dias, semanas, meses e horas. Grátis, no navegador.
- [Calcular Idade](https://pradev.com.br/calcular-idade): Calcule a idade exata em anos, meses e dias a partir da data de nascimento, os dias vividos e quanto falta para o próximo aniversário.
- [Converter Anos em Dias](https://pradev.com.br/converter-anos-em-dias): 1 ano tem 365 dias, ou 366 em ano bissexto. Converta qualquer valor de anos para dias, com decimais, e veja a tabela com os valores mais usados.
