ToolActToolAct

Calculadora de Data de Validade

Calcular data de expiração, gerenciar prazo de validade

O que é Calculadora de Validade?

Calculadora de Data de Validade é uma ferramenta online para calcular datas de expiração ou estimar datas de produção. Digite data de produção e prazo para data exata de validade, ou data de validade para cálculo inverso. Suporta múltiplos produtos com alerta de dias restantes.

Execução local no browser, sem upload, privacidade protegida.

Em cálculos de validade ou expiração, importa saber se a contagem usa dias corridos, dias úteis, meses ou horas fixas. Alimentos, medicamentos, contratos, certificados, cupons e prazos de projeto podem aplicar regras diferentes para dia inicial, dia final, fuso horário e arredondamento. A ferramenta oferece referência rápida, mas prazos legais, médicos ou financeiros devem ser conferidos com a fonte original e a regra aplicável.

Como Usar

Como usar

  1. Selecione o modo de cálculo: Produção→Validade ou Validade→Produção
  2. Informe a data e os dias de vida útil
  3. Clique em Calcular para ver os resultados
  4. Adicione à lista de produtos para gerenciamento em lote

Verificações dos Resultados

  • Confirme se a vida útil começa a partir da data de produção, data de embalagem, data de abertura ou data de recebimento; essas regras não são intercambiáveis.
  • Para alimentos, medicamentos ou produtos regulamentados, use o rótulo impresso e as regras locais como autoridade final.

Casos de uso

Calcular data de validade a partir da data de produção e prazo de vida útilInsira a data de produção, o prazo de vida útil e a unidade em dias, meses ou anos para obter a data de validade alvo, os dias restantes e o status de frescor. O contador de dias restantes é calculado com base na data atual do navegador, então um dispositivo com o relógio errado mostrará uma faixa de frescor incorreta até que o horário do sistema seja corrigido.
Calcular inversamente a partir de uma data de validadeAltere o modo para estimar a data de produção a partir de uma data de validade conhecida e do prazo de vida útil, útil ao verificar rótulos de embalagem, registros de inventário ou documentação de lote. Mantenha a unidade de vida útil e a data de referência ao lado do resultado para que o cálculo possa ser compreendido posteriormente.
Manter uma pequena lista de acompanhamento de produtosAdicione resultados nomeados à lista na página para comparar itens frescos, a vencer e expirados. Os prazos em meses e anos são simplificados como 30 e 365 dias, então produtos regulamentados ainda precisam das regras oficiais. O lembrete é acionado pela API de Notificação do navegador, então a primeira solicitação precisa ser autorizada por site, e uma permissão negada permanece negada até que o usuário a reverta nas configurações do site.
Ter cuidado com prazos de vida útil em meses e anosA página trata um mês como 30 dias e um ano como 365 dias, então um produto rotulado como 'melhor dentro de 18 meses' pode variar alguns dias em relação à impressão da embalagem. Confira com a data impressa em produtos regulamentados antes de descartá-los, e lembre-se de que categorias regulamentadas (fórmula infantil, hemoderivados, medicamentos prescritos) geralmente exigem um código de lote impresso na embalagem original em vez de uma estimativa calculada.
Usar a lista em lote para planejar a rotação de comprasAdicione um pequeno conjunto de itens de despensa ou medicamentos de uma vez e deixe o lembrete de dias restantes destacar os próximos a serem usados. A lista na página fica no localStorage, que a maioria dos navegadores limita a 5 ou 10 MB por origem, então um inventário pessoal grande funciona bem; quando o localStorage estiver cheio, a página volta ao armazenamento em memória e qualquer lista salva será perdida ao recarregar, sendo nesse caso a exportação manual para um arquivo de notas a opção segura.

Princípio técnico

A matemática de validade usa aritmética inteira de datas ancorada na data de produção. O caminho direto calcula validade = produção + dias_de_vida_útil usando Date.setDate(date.getDate() + n), que trata a transição de mês e ano nativamente (ex: 2025-01-31 + 30 = 2025-03-02 porque fevereiro tem 28 dias). O caminho inverso calcula produção = validade - dias_de_vida_útil da mesma forma. Para evitar desvio de DST ao redor da meia-noite no horário local, a página ancora a aritmética em UTC via Date.UTC(y, m, d) e adiciona milissegundos inteiros (n * 86400000), porque Date.setDate no horário local cruza limites de DST com um deslocamento de uma hora que pode alterar a data visível nas transições de março e novembro nos EUA, e outubro na UE. As unidades de vida útil são normalizadas para dias antes da adição: 1 mês é tratado como 30 dias e 1 ano como 365 dias, correspondendo à heurística usada na maioria das embalagens de consumo, mas não à regra exata do calendário usada por reguladores. O Codex Alimentarius General Standard for the Labelling of Prepackaged Foods (CXS 1-1985, revisado) e o GB 7718-2025 da China especificam vida útil a partir da data de fabricação ou embalagem; a validade farmacêutica segue as diretrizes de teste de estabilidade ICH Q1A (R2) e arredonda a validade impressa para o último dia do mês (então um medicamento fabricado em 2024-08-15 com vida útil de 18 meses é rotulado 2026-02-28, não 2026-02-15). O contador de dias restantes é (validade_utc - agora_utc) / 86400000 arredondado com Math.floor para dias já decorridos e Math.ceil para tempo até a validade, e a faixa de frescor é uma comparação por limiar: expirado quando restante < 0, expirando em breve quando 0 ≤ restante ≤ 30, fresco caso contrário. A lista de observação persistente vive em window.localStorage sob uma única chave com namespace, serializada via JSON.stringify, que a maioria dos navegadores limita a aproximadamente 5-10 MB por origem (Chrome ~10 MB, Safari ~5 MB). Quando a cota é excedida, o navegador lança uma DOMException com name 'QuotaExceededError', e a página deve recorrer ao estado em memória porque gravações após o lançamento são silenciosamente descartadas. O localStorage também é síncrono e same-origin, então as entradas persistem entre recarregamentos de página mas nunca saem do dispositivo. A API de Notificação do navegador (usada pelo lembrete) requer Notification.requestPermission(), é concedida por origem, e no Chrome no Windows ≥ 86 é exibida através do centro de notificações do sistema operacional em vez do navegador em si.

  • Aritmética de datas: Date.setDate(d.getDate() + n) trata transição de mês/ano nativamente, mas no horário local cruza limites de DST e pode alterar a data; Date.UTC + ms inteiros é o caminho seguro.
  • Normalização de unidades: 1 mês ≈ 30 dias, 1 ano ≈ 365 dias — simples mas não exato no calendário; rótulos farmacêuticos seguem ICH Q1A (R2) e arredondam para o último dia do mês de validade.
  • Dias restantes = Math.floor((validade_utc - agora_utc) / 86400000); limiares: restante < 0 → expirado, 0 ≤ restante ≤ 30 → expirando em breve, caso contrário fresco.
  • Âncoras regulatórias variam: vida útil de alimentos segue Codex CXS 1-1985 / GB 7718-2025 (a partir da produção ou embalagem); cosméticos usam PAO (Period After Opening) a partir do primeiro uso; medicamentos usam datação de estabilidade ICH Q1A.
  • Vida útil após abertura é independente da validade impressa e é menor (ex: azeite de oliva aberto ~3 meses apesar de 24 meses de vida útil lacrada); acompanhe a data de abertura separadamente.
  • A cota do localStorage é ~5-10 MB por origem e lança QuotaExceededError (DOMException) quando cheio; gravações após o lançamento são silenciosamente descartadas, então envolva setItem em try/catch e exiba um aviso ao usuário.
  • Desvio do relógio do navegador (data do sistema mal configurada) altera a faixa de frescor; a página lê new Date() em vez de uma fonte de tempo remota, então herda qualquer erro de relógio do lado do cliente.

Exemplos

Fabricação 2026-01-01 + 730 dias = 2027-12-31

Modo: Fabricação -> Validade
Data de fabricação: 2026-01-01
Prazo de validade: 730 dias (2 anos)
Data de validade: 2027-12-31
Status: dentro do prazo de validade

Farmacêutico: validade de 18 meses

Lote do medicamento: A26-0215
Fabricação: 2026-02-15
Prazo de validade: 18 meses (aproximadamente 548 dias)
Validade: 2027-08-15
Observação no rótulo - regra prática farmacêutica: vencer no último dia
do mês, então a data impressa pode ser 2027-08-31

Cálculo reverso: Validade -> Fabricação

Modo: Validade -> Fabricação
Validade impressa na embalagem: 2028-06-30
Prazo de validade: 36 meses
Fabricado em ou antes de: 2025-06-30
Use para verificar a data de fabricação alegada por um fornecedor
contra o rótulo do lote.

Verificação de armazenamento de alimentos

Item: Azeite de oliva 500ml
Fabricação: 2025-12-01
Prazo de validade: 24 meses
Validade: 2027-12-01
Verificação: dentro do prazo; faça rotação do estoque por FIFO e planeje desconto ~30 dias antes do vencimento

Perguntas frequentes

Como a data de validade é calculada?

Data de fabricação + duração = data de validade. A duração aceita dias, semanas, meses ou anos. Os meses são somados ajustando para o último dia do mês de destino (então 31 de jan + 1 mês = 28/29 de fev), o que combina com a forma como a maioria dos órgãos reguladores interpreta 'X meses a partir da fabricação'.

Os dias restantes são contados a partir de hoje?

Sim. A página mostra os dias, semanas e meses restantes a partir da data de hoje no seu fuso horário local. Números negativos indicam que o produto já passou da validade. O rótulo de status (fresco / próximo do vencimento / vencido) ajuda na triagem rápida.

Qual a diferença entre 'válido até' e 'consumir até'?

'Válido até' (best-before) é uma data de qualidade — o alimento ainda é seguro depois disso, só pode ter perdido o sabor ou a textura ideais. 'Consumir até' (use-by) é uma data de segurança — passar dela pode trazer riscos à saúde. Cosméticos e remédios costumam ter o símbolo PAO (período após abertura), que substitui a validade impressa depois que o produto é aberto.

O resultado leva em conta as condições de armazenamento?

Não. As datas de validade impressas pressupõem o armazenamento recomendado pelo fabricante (fresco, seco, lacrado, refrigerado, congelado). Calor, umidade e luz reduzem a vida útil real e a página não consegue modelar isso. Encare a data calculada como um limite máximo.

Como devo lidar com alimentos ou remédios 'vencidos'?

Para enlatados não abertos e itens secos, um pouco depois do 'válido até' costuma estar tudo bem — confira aparência e cheiro. Laticínios, carnes e peixes que passaram do 'consumir até' devem ser descartados. Remédios vencidos podem perder eficácia e alguns são inseguros; não confie neles para tratamentos sérios.

Posso acompanhar vários produtos?

Abra abas adicionais — cada aba é independente. A página não mantém um inventário salvo. Para acompanhamento contínuo, um app de inventário ou uma planilha simples é mais prático.

Meus dados são enviados para algum servidor?

Não. O cálculo é feito no seu navegador e não é salvo entre sessões.