Como Funciona o Cálculo do Código EAN-13: Entenda o Algoritmo de Validação

Descubra o segredo por trás do dígito verificador dos códigos de barras EAN-13 e como garantir a validade de produtos no varejo

Código de Barras Internacional Validação Automática Implementação Prática

O que é o EAN-13 e Por Que Tem um Dígito Verificador?

O EAN-13 (European Article Number) é o padrão internacional de código de barras utilizado para identificar produtos em supermercados, farmácias, indústrias e logística no mundo todo. Cada código EAN-13 possui 13 dígitos, sendo o último deles um dígito verificador calculado por uma fórmula matemática.

O objetivo do dígito verificador é evitar erros de digitação e garantir a integridade dos dados durante a leitura automática dos códigos de barras. Assim, sistemas conseguem identificar rapidamente códigos inválidos e evitar problemas de estoque, vendas e rastreamento.

Estrutura do EAN-13: Entendendo os 13 Dígitos

7891234567895
789
Prefixo do país
Ex: Brasil = 789
12345
Código do fabricante
6789
Código do produto
5
Dígito verificador
Calculado pela fórmula

A Fórmula Matemática do EAN-13

Como Calcular o Dígito Verificador

  1. Considere apenas os 12 primeiros dígitos do EAN-13.
  2. Multiplique cada dígito, da esquerda para a direita, alternando os pesos 1 e 3:
EAN: 7 8 9 1 2 3 4 5 6 7 8 9
Pesos: 1 3 1 3 1 3 1 3 1 3 1 3
Produtos: 7 + 24 + 9 + 3 + 2 + 9 + 4 + 15 + 6 + 21 + 8 + 27 = 135
  1. Some todos os resultados. No exemplo acima: 135
  2. Calcule o menor número que, somado ao total, resulte em um múltiplo de 10. Ou seja, encontre o dígito D tal que (soma + D) seja divisível por 10.
  3. O dígito verificador é: (10 - (soma % 10)) % 10
  4. No exemplo: (10 - (135 % 10)) % 10 = (10 - 5) % 10 = 5

Implementação em Código

JavaScript

function validarEAN13(ean) {
    ean = ean.replace(/\D/g, '');
    if (ean.length !== 13) return false;
    let soma = 0;
    for (let i = 0; i < 12; i++) {
        soma += parseInt(ean[i]) * (i % 2 === 0 ? 1 : 3);
    }
    let digito = (10 - (soma % 10)) % 10;
    return parseInt(ean[12]) === digito;
}

PHP

function validarEAN13($ean) {
    $ean = preg_replace('/[^0-9]/', '', $ean);
    if (strlen($ean) != 13) return false;
    $soma = 0;
    for ($i = 0; $i < 12; $i++) {
        $peso = ($i % 2 === 0) ? 1 : 3;
        $soma += intval($ean[$i]) * $peso;
    }
    $digito = (10 - ($soma % 10)) % 10;
    return intval($ean[12]) === $digito;
}

Calculadora Interativa do Dígito Verificador EAN-13

Teste a Fórmula do EAN-13

Digite os 12 primeiros dígitos e veja como o dígito verificador é calculado

Perguntas Frequentes sobre o EAN-13

Por que o EAN-13 tem dígito verificador?

O dígito verificador serve para detectar erros de digitação e garantir que o código de barras seja lido corretamente por sistemas automáticos, evitando fraudes e problemas de estoque.

Posso criar códigos EAN-13 válidos aleatoriamente?

É possível gerar códigos matematicamente válidos, mas para uso comercial é necessário obter prefixos oficiais junto à GS1 Brasil ou órgão equivalente.

O EAN-13 é o mesmo que o código de barras do supermercado?

Sim, o EAN-13 é o padrão mais comum em supermercados, farmácias e lojas de varejo no Brasil e no mundo.

O que acontece se o dígito verificador estiver errado?

O sistema de leitura rejeita o código, impedindo o cadastro ou venda do produto até que o código correto seja informado.

Ferramentas Relacionadas

Conclusão

O cálculo do dígito verificador do EAN-13 é simples, eficiente e fundamental para garantir a segurança e a confiabilidade dos códigos de barras em todo o mundo. Compreender esse algoritmo é essencial para desenvolvedores, empresas e profissionais de automação comercial.

Use sempre códigos EAN-13 válidos e, para aplicações reais, obtenha prefixos oficiais junto à GS1. Para testes e desenvolvimento, utilize ferramentas de geração e validação disponíveis gratuitamente.