Your QRToolkit

O Que é um Dígito de Verificação de Código de Barras e Como Validá-lo

Cada código de barras EAN e UPC termina com um dígito de verificação que detecta erros de escaneamento.

O que é um dígito de verificação?

Um dígito de verificação é o dígito final de um número de código de barras. Não é arbitrário: é calculado a partir de todos os outros dígitos usando um algoritmo fixo. Quando um scanner lê um código de barras, recalcula qual deveria ser o dígito de verificação com base nos dígitos que escaneou, e então compara esse valor com o dígito que realmente leu. Se coincidirem, o escaneamento é aceito. Se não coincidirem, o scanner rejeita a leitura como um provável erro de escaneamento.

Este é um mecanismo de detecção de erros simples, mas eficaz. A maioria dos erros de escaneamento produz um único dígito incorreto, e um dígito incorreto quase sempre produz um cálculo de dígito de verificação incorreto, que o scanner detecta.

Quais formatos de código de barras usam dígitos de verificação?

A família de códigos de barras GS1 —EAN-13, UPC-A, EAN-8, ISBN-13 e GTIN-14— todos usam o mesmo algoritmo de dígito de verificação. Essa consistência é intencional: permite que um único scanner valide códigos de barras de qualquer formato GS1.

Code 128 e Code 39 também têm mecanismos de dígito de verificação, embora sejam opcionais no Code 39 e usem algoritmos diferentes.

O algoritmo de dígito de verificação GS1

O algoritmo módulo-10 do GS1 funciona da seguinte forma:

  1. Tome todos os dígitos exceto o dígito de verificação (o último dígito).
  2. Atribua pesos alternados de 1 e 3 a cada dígito, começando pelo dígito mais à direita (a posição 1 da direita recebe peso 3, a posição 2 recebe peso 1, a posição 3 recebe peso 3, e assim por diante).
  3. Multiplique cada dígito pelo seu peso e some todos os resultados.
  4. Divida a soma por 10. O dígito de verificação é 10 menos o resto. Se o resto for 0, o dígito de verificação é 0.

Exemplo com base EAN-13: 400638133393

| Posição da direita | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | |---|---|---|---|---|---|---|---|---|---|---|---|---| | Dígito | 4 | 0 | 0 | 6 | 3 | 8 | 1 | 3 | 3 | 3 | 9 | 3 | | Peso | 1 | 3 | 1 | 3 | 1 | 3 | 1 | 3 | 1 | 3 | 1 | 3 | | Produto | 4 | 0 | 0 | 18 | 3 | 24 | 1 | 9 | 3 | 9 | 9 | 9 |

Soma: 4+0+0+18+3+24+1+9+3+9+9+9 = 89

Resto: 89 mod 10 = 9

Dígito de verificação: 10 - 9 = 1

EAN-13 completo: 4006381333931

Validar um dígito de verificação sem software

Se você tem um número EAN-13 de 13 dígitos e quer verificar que está correto:

  1. Separe o último dígito (o dígito de verificação).
  2. Aplique o algoritmo aos primeiros 12 dígitos.
  3. Compare o dígito de verificação calculado com o último dígito. Se coincidirem, o número é válido.

Usar a ferramenta verificadora de dígitos de verificação

O verificador de dígito de verificação de código de barras deste site faz isso automaticamente. Insira seu número de código de barras, selecione o formato (EAN-13, UPC-A, EAN-8, ISBN-13 ou GTIN-14), e a ferramenta indica:

  • Se você inseriu um número completo (13 dígitos para EAN-13): valida o dígito de verificação e mostra se está correto.
  • Se você inseriu o número base sem o dígito de verificação (12 dígitos para EAN-13): calcula e exibe o dígito de verificação correto.

A ferramenta também mostra o cálculo passo a passo para que você possa verificar o processo.

Cenários comuns onde isso importa

Erros de transcrição. Você tem um número de produto escrito em papel, mas não tem certeza se foi copiado corretamente. Insira-o no verificador para confirmar que o dígito de verificação é consistente com os outros dígitos.

Validação de banco de dados. Você tem uma planilha de códigos de barras de produtos importados de um fornecedor. Executá-los pela validação do dígito de verificação detecta aqueles que foram inseridos com um erro de digitação.

Construir um código de barras a partir de uma referência de produto. Você tem um número base de 12 dígitos e precisa do EAN-13 completo de 13 dígitos. O verificador calcula o dígito de verificação por você. Isso também é útil ao usar um gerador de números de código de barras aleatórios para testes: o dígito de verificação precisa ser estruturalmente correto para que o código escaneie sem erros.

Verificar um código de barras que está prestes a imprimir. Se você está gerando seus próprios códigos de barras usando um prefixo de empresa GS1, verifique que o dígito de verificação está correto antes de se comprometer com uma tiragem de impressão. Um código de barras com um dígito de verificação incorreto será rejeitado por cada scanner que o validar. Você pode gerar e visualizar um código de barras finalizado usando o gerador de código de barras EAN-13 ou o gerador de código de barras UPC-A assim que confirmar que o número é válido.

Quando um dígito de verificação correto não significa que o código de barras está registrado

Um dígito de verificação válido significa que o número está estruturalmente correto. Não significa que o número está registrado no GS1, atribuído a um produto real ou reconhecido pelo banco de dados de produtos de nenhum varejista. Esses são sistemas completamente separados.

Um código de barras falso —gerado com um número arbitrário ou aleatório em vez de um prefixo GS1 registrado— passará na validação do dígito de verificação e escaneará corretamente. Simplesmente retornará "produto desconhecido" em qualquer banco de dados de varejistas que busque o produto por código de barras.

Ferramentas relacionadas