EAN-13

EAN-13' (sigla de European Article Number, ou Número de Artigo Europeu, em tradução literal) é um código de barras no padrão EAN definido pela GS1, adaptado em mais de cem organizações membros GS1, para a identificação dos código de barras UPC. Ele ajuda a identificar tipos específicos de produtos de varejo com base em sua embalagem e fabricante, facilitando o rastreamento e o gerenciamento de produtos no comércio internacional. Originalmente desenvolvido para simplificar a identificação de produtos em lojas, o sistema EAN foi integrado ao padrão mais amplo Global Trade Item Number (GTIN). Embora o GTIN possa ser expresso com qualquer formato de código de barras, o formato de código de barras EAN permanece o mais amplamente reconhecido usado no controle de estoque, transações de atacado e processos de contabilidade. A versão mais amplamente usada é o EAN-13, uma extensão do anterior código de 12 dígitos Universal Product Code (UPC-A) com um prefixo numérico opcional indicando o país de registro. Em casos onde o espaço na embalagem é limitado, o formato mais curto EAN-8 é usado. Para anexar informações suplementares, como números de edição de publicações periódicas e preços de itens alimentícios, também são usados EAN-2 e EAN-5.
Composição
O número EAN-13 de 13 dígitos consiste em quatro componentes:[1]
- Prefixo GS1 – 3 dígitos[2]
- Código do fabricante – comprimento variável
- Código do produto – comprimento variável
- Dígito verificador
Prefixo GS1
Os primeiros três dígitos do EAN-13 (Prefixo GS1) geralmente identificam a Organização Membro GS1 à qual o fabricante se juntou (não necessariamente onde o produto é realmente fabricado).[3] Note que códigos EAN-13 começando com 0 são na verdade códigos UPC de 12 dígitos com um dígito 0 prependido. Nos últimos anos, mais produtos vendidos por varejistas fora dos Estados Unidos e Canadá têm usado códigos EAN-13 começando com 0, pois foram gerados pela GS1-US. Os prefixos GS1 020-029 merecem uma menção especial. A GS1 define isso como disponível para uso interno do varejista (ou uso interno por outros tipos de negócios). Alguns varejistas usam isso para produtos proprietórios (marca própria ou sem marca), embora muitos varejistas obtenham seu próprio código de fabricante para suas próprias marcas. Outros varejistas usam pelo menos parte desse prefixo para produtos embalados na loja, por exemplo, itens pesados e servidos no balcão para um cliente. Nesses casos, o código de barras pode codificar um preço, quantidade ou peso junto com um identificador de produto – de uma maneira definida pelo varejista. O identificador de produto pode ser um atribuído pelo Produce Electronic Identification Board (PEIB) ou pode ser atribuído pelo varejista. Varejistas que historicamente usaram códigos de barras UPC tendem a usar prefixos GS1 começando com "02" para produtos embalados na loja.[carece de fontes] O "código de país" EAN 978 (e posteriormente 979) foi alocado desde os anos 1980 para reservar um prefixo de Código de País Único (UCC) para identificadores EAN de livros publicados, independentemente do país de origem, para que o espaço EAN possa catalogar livros por ISBNs[4] em vez de manter um sistema de numeração paralelo redundante. Isso é informalmente conhecido como "Bookland". O prefixo 979 com o primeiro dígito 0 é usado para Número Internacional Padrão de Música (ISMN) e o prefixo 977 indica Número Internacional Padrão de Série (ISSN).
Código do fabricante
O código do fabricante é um código único atribuído a cada fabricante pela autoridade de numeração indicada pelo Prefixo GS1. Todos os produtos produzidos por uma determinada empresa usarão o mesmo código do fabricante. O EAN-13 usa o que são chamados "códigos de fabricante de comprimento variável". Atribuir códigos de fabricante de comprimento fixo de 5 dígitos, como o UCC fez até recentemente, significa que cada fabricante pode ter até 99.999 códigos de produto.(9.999 para prefixos GS1 de 3 dígitos) Muitos fabricantes não têm tantos produtos, o que significa que centenas ou até milhares de códigos de produto potenciais estão sendo desperdiçados em fabricantes que têm apenas alguns produtos. Assim, se um fabricante potencial souber que vai produzir apenas alguns produtos, o EAN-13 pode emitir a ele um código de fabricante mais longo, deixando menos espaço para o código do produto. Isso resulta em um uso mais eficiente dos códigos de fabricante e produto disponíveis.[5] No ISBN e ISSN, este componente é usado para identificar o idioma em que a publicação foi emitida e gerenciada por uma agência transnacional cobrindo vários países, ou para identificar o país onde os depósitos legais são feitos por um editor registrado com uma agência nacional, e é subdividido ainda mais em subblocos alocados para editores; muitos países têm vários prefixos alocados nos registros ISSN e ISBN.
Código do produto
O código do produto é atribuído pelo fabricante. O código do produto segue imediatamente o código do fabricante. O comprimento total do código do fabricante mais o código do produto deve ser 9 ou 10 dígitos, dependendo do comprimento do código do país (2–3 dígitos). No ISBN, ISMN e ISSN, ele identifica unicamente a publicação do mesmo editor; deve ser usado e alocado pelo editor registrado para evitar criar lacunas; no entanto, acontece que um livro ou serial registrado nunca é publicado e vendido.
Dígito verificador
O dígito verificador é um dígito adicional usado para verificar se um código de barras foi escaneado corretamente. Ele é calculado módulo 10, onde os pesos no cálculo da soma de verificação alternam 3 e 1. Em particular, como os pesos são relativamente primos a 10, o sistema EAN-13 detectará todos os erros de dígito único. Ele também reconhece 90% dos erros de transposição (todos os casos onde a diferença entre dígitos adjacentes não é 5).
Cálculo do dígito de soma de verificação
A soma de verificação é calculada como soma de produtos – tomando um valor de peso alternado (3 ou 1) vezes o valor de cada dígito de dados. O dígito de soma de verificação é o dígito que deve ser adicionado a essa soma de verificação para obter um número divisível por 10 (ou seja, o inverso aditivo da soma de verificação, módulo 10).[6] Veja cálculo do dígito verificador ISBN-13 para uma descrição e algoritmo mais extensos. O Número de Localização Global (GLN) também usa o mesmo método.
Posição – peso
O peso em uma posição específica no código EAN alterna (3 ou 1) de forma que o dígito de dados final tenha um peso de 3 (e assim o dígito verificador tenha um peso de 1). Todos os Número Global de Item Comercial (GTIN) e Código de Contêiner de Envio Serial (SSCC) códigos atendem à próxima regra: Numerando as posições da direita (código alinhado à direita), os dígitos de dados ímpares sempre têm peso 3 e os dígitos de dados pares sempre têm peso 1, independentemente do comprimento do código. Pesos para código SSCC de 18 dígitos e GTINs (GTIN-8, GTIN-12, GTIN-13, GTIN-14):
| posição | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| peso | 3 | 1 | 3 | 1 | 3 | 1 | 3 | 1 | 3 | 1 | 3 | 1 | 3 | 1 | 3 | 1 | 3 |
Pesos para código EAN-13:
| posição | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| peso | 1 | 3 | 1 | 3 | 1 | 3 | 1 | 3 | 1 | 3 | 1 | 3 |
Pesos para código EAN-8:
| posição | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
|---|---|---|---|---|---|---|---|
| peso | 3 | 1 | 3 | 1 | 3 | 1 | 3 |
Exemplos de cálculo
- Para código de barras EAN-13 400638133393x, onde x é o dígito verificador desconhecido, (Stabilo Point 88 Art. No. 88/57), o cálculo do dígito verificador é:
posição 12 11 10 9 8 7 6 5 4 3 2 1 primeiros 12 dígitos do código de barras 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 soma parcial 4 0 0 18 3 24 1 9 3 9 9 9 soma de verificação 89
- O múltiplo de 10 mais próximo que é igual ou superior à soma de verificação é 90. Subtraia-os: 90 - 89 = 1, que é o dígito verificador x do código de barras.
- Para código de barras EAN-8 7351353x, onde x é o dígito verificador desconhecido, o cálculo do dígito verificador é:
posição 7 6 5 4 3 2 1 primeiros 7 dígitos do código de barras 7 3 5 1 3 5 3 peso 3 1 3 1 3 1 3 soma parcial 21 3 15 1 9 5 9 soma de verificação 63
- O múltiplo de 10 mais próximo que é igual ou superior à soma de verificação é 70. Subtraia-os: 70 - 63 = 7, que é o dígito verificador x do código de barras.
Cálculo do dígito verificador EAN 13
[carece de fontes] Tomando como base o EAN 13 de número: 789100031550-?
Multiplicam-se os dígitos do código por 1 e por 3, em sequência repetitiva de 1 e 3; 7 * 1 = 7 8 * 3 = 24 9 * 1 = 9 1 * 3 = 3 0 * 1 = 0 0 * 3 = 0 0 * 1 = 0 3 * 3 = 9 1 * 1 = 1 5 * 3 = 15 5 * 1 = 5 0 * 3 = 0 Somando o resultado das multiplicações encontra-se o total de 73. O valor total da soma das multiplicações deve ser dividido por 10: (73/10 = 7.3) Transforme o resultado em inteiro, "arredondando" o número para baixo. (7) Some 1 ao resultado da divisão: (7+1 = 8) Multiplique o resultado dessa soma por 10: (8*10 = 80) Subtraia desse resultado o valor da soma inicial das multiplicações "73": (80 - 73 = 7) Portanto, o digito verificador é 7. Dessa forma, o código completo é: 7891000315507. Se o resultado for um múltiplo de 10, o dígito verificador será 0.
- Resolução usando algoritmo matemático
L = Split("789100031550","") 'Converte string em Array de Caracteres
For i = 0 to L.Ubound
RE = RE + L(i).Val * ((i MOD 2) * 2 + 1) ' soma todos multiplicando apenas os pares por 3
Next
RE = ((1 - ((re / 10)-(re \ 10))) * 10) MOD 10 'Acha o múltiplo referido a cima
'neste caso RE será 7
- Função PHP para calcular o Dígito Verificador no parâmetro EAN13
function IncluiDigito($ean) {
$digitos = str_split($ean);
$soma = 0;
foreach ($digitos as $i => $digito) {
if (($i % 2) === 0) {
$soma += $digito * 1;
} else {
$soma += $digito * 3;
}
}
$resultado = floor($soma / 10) + 1;
$resultado *= 10;
$resultado -= $soma;
if (($resultado % 10) === 0) {
$ean = $ean. '0';
} else {
$ean = $ean. $resultado;
}
return $ean;
}
echo IncluiDigito(789100031550);
- Função PHP para Verificar o EAN13
function validateEAN13Barcode($barcode)
{
try {
if ((!preg_match("/^[0-9]{13}$/", $barcode)) || (strlen($barcode) < 13)) {
throw new Exception('O código EAN13 mencionado não possui 13 caracteres numéricos');
}
$digits = str_split($barcode);
$result = 0;
for($i = 0; $i < 12; $i++) {
$result += (($i == 0) || (($i % 2) == 0)) ? $digits[$i]: ($digits[$i] * 3);
}
if ($checkDigit == $digits[12]) {
return ['status' => true, 'message' => 'O código informado é um EAN13 válido'];
} else {
throw new Exception('O digito verificador não confere com o mencionado');
}
} catch(Exception $e) {
return ['status' => false, 'message' => $e->getMessage()];
}
}
- Função em PLpgSQL(PosgreSQL) que de acordo o valor informado gera o dígito verificador e retorna o código válido com os 13 dígitos:
create or replace function fn_get_codbarras_ean13(p_c_codbarras varchar(12))
returns varchar(13) as $$
declare
v_soma integer;
v_digitos smallint[12];
v_DV smallint;
begin
--Verifica a quantidade de dígitos informados no parâmetro da função
if length(p_codbarras) > 12 then
raise exception 'O valor informado no parâmetro possui mais do que 12 dígitos';
end if;
--Formata o valor do parâmetro com zeros à esquerda e o converte em um array
v_digitos:= string_to_array(lpad(p_codbarras,12,'0'), null);
--É somado cada elemento do array, caso ele esteja num índice par o valor será
--multiplicado por 3 antes de ser somado.
for i in 1..12 loop
if mod(i,2) = 0 then
v_soma:= coalesce(v_soma, 0) + (v_digitos[i] * 3);
else
v_soma:= coalesce(v_soma, 0) + v_digitos[i];
end if;
end loop;
--O resultado da subtração de 10 pela sobra da divisão da soma dos dígitos
--por 10 é o dígito verificador
v_DV = 10 - mod(v_soma, 10);
if v_DV = 10 then
v_DV:= 0;
end if;
--É retornado o código de barras concatenado ao dígito verificador
return array_to_string(v_digitos, '') || v_DV;
end
$$ language plpgsql volatile strict;
- Função em ORACLE(PL/SQL) para gerar o EAN13
CREATE OR REPLACE FUNCTION FUN_EAN13(P_CODIGO_BARRA IN VARCHAR2) RETURN VARCHAR2 IS
V_SOMA NUMBER;
V_MULTIPLO NUMBER;
BEGIN
IF LENGTH(P_CODIGO_BARRA) != 13 THEN --passar também o digito, no total 13 caracteres
RETURN 'N';
END IF;
FOR I IN 1..12 LOOP --soma o que é par e impar
IF MOD(I,2) = 0 THEN
V_MULTIPLO:= 3;
ELSE
V_MULTIPLO:= 1;
END IF;
V_SOMA:= NVL(V_SOMA,0) + SUBSTR(P_CODIGO_BARRA, I, 1) * V_MULTIPLO;
END LOOP;
IF NVL(NULLIF((10 - MOD(V_SOMA, 10)),10),0) = SUBSTR(P_CODIGO_BARRA, 13) THEN --verifica o digito
RETURN 'S';
ELSE
RETURN 'N';
END IF;
END;
- Função Microsoft SQL Server para gerar o EAN13
ALTER FUNCTION [dbo].[UFN_GeraCodigoEAN](@ID VARCHAR(20))
RETURNS VARCHAR(20) AS
BEGIN
DECLARE @Retorno VARCHAR(20), @Digito CHAR(1)
DECLARE @chk_digit int, @chk int
DECLARE @num TABLE (num int)
SELECT @ID = RTRIM(LTRIM(@ID))
SELECT @ID = '999'+ISNULL(REPLICATE('0', 9 - len(ISNULL(@ID,0))), '') + @ID
INSERT INTO @num
SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9 UNION ALL SELECT 10 UNION ALL SELECT 11 UNION ALL SELECT 12
SELECT @chk_digit = SUM(CONVERT(int, SUBSTRING(@ID, LEN(@ID) - num + 1, 1)) * CASE WHEN num % 2 = 1 THEN 3 ELSE 1 END) FROM @num WHERE num <= LEN(@ID)
SELECT @chk_digit = (10 - (@chk_digit % 10)) % 10
SELECT @Digito=CHAR(ASCII('0') + @chk_digit)
SELECT @Retorno=@ID + @Digito
RETURN @Retorno
END
Fórmula no Excel
A fórmula abaixo pode ser aplicada sem a necessidade de uso de macro, em qualquer versão do Excel. A fórmula foi validada no site da GS1 com resultado satisfatório. Insira um código com 12 dígitos em uma célula do Excel, formatando-a como texto e aplique a fórmula abaixo para calcular o dígito:
=SE(((ARREDONDAR.PARA.BAIXO((EXT.TEXTO(A2;1;1)+(EXT.TEXTO(A2;2;1)*3)+EXT.TEXTO(A2;3;1)+(EXT.TEXTO(A2;4;1)*3)+EXT.TEXTO(A2;5;1)+(EXT.TEXTO(A2;6;1)*3)+EXT.TEXTO(A2;7;1)+(EXT.TEXTO(A2;8;1)*3)+EXT.TEXTO(A2;9;1)+(EXT.TEXTO(A2;10;1)*3)+EXT.TEXTO(A2;11;1)+(EXT.TEXTO(A2;12;1)*3))/10;0)+1)*10)-(EXT.TEXTO(A2;1;1)+(EXT.TEXTO(A2;2;1)*3)+EXT.TEXTO(A2;3;1)+(EXT.TEXTO(A2;4;1)*3)+EXT.TEXTO(A2;5;1)+(EXT.TEXTO(A2;6;1)*3)+EXT.TEXTO(A2;7;1)+(EXT.TEXTO(A2;8;1)*3)+EXT.TEXTO(A2;9;1)+(EXT.TEXTO(A2;10;1)*3)+EXT.TEXTO(A2;11;1)+(EXT.TEXTO(A2;12;1)*3))=10;0;((ARREDONDAR.PARA.BAIXO((EXT.TEXTO(A2;1;1)+(EXT.TEXTO(A2;2;1)*3)+EXT.TEXTO(A2;3;1)+(EXT.TEXTO(A2;4;1)*3)+EXT.TEXTO(A2;5;1)+(EXT.TEXTO(A2;6;1)*3)+EXT.TEXTO(A2;7;1)+(EXT.TEXTO(A2;8;1)*3)+EXT.TEXTO(A2;9;1)+(EXT.TEXTO(A2;10;1)*3)+EXT.TEXTO(A2;11;1)+(EXT.TEXTO(A2;12;1)*3))/10;0)+1)*10)-(EXT.TEXTO(A2;1;1)+(EXT.TEXTO(A2;2;1)*3)+EXT.TEXTO(A2;3;1)+(EXT.TEXTO(A2;4;1)*3)+EXT.TEXTO(A2;5;1)+(EXT.TEXTO(A2;6;1)*3)+EXT.TEXTO(A2;7;1)+(EXT.TEXTO(A2;8;1)*3)+EXT.TEXTO(A2;9;1)+(EXT.TEXTO(A2;10;1)*3)+EXT.TEXTO(A2;11;1)+(EXT.TEXTO(A2;12;1)*3))) Obs: A fórmula acima não deve ter quebras de linha e no exemplo, o código foi inserido na célula A2.
Outra maneira
Como sugestão a uma maneira diferente no Excel para resolver o mesmo problema, abaixo outra fórmula utilizando técnica diferente do Excel. Ambas devem retornar o mesmo resultado, mas a fórmula abaixo é mais compacta:
=MOD(9 * SOMARPRODUTO(--EXT.TEXTO(TEXTO(A2; REPT("0"; 12)); LIN(INDIRETO("1:12")); 1);--EXT.TEXTO("131313131313"; LIN(INDIRETO("1:12")); 1)); 10) Obs: A fórmula acima não deve ter quebras de linha e no exemplo, o código foi inserido na célula A2.
Codificação binária dos dígitos de dados no código de barras EAN-13
Os números GTIN, codificados para UPC-A, EAN-8 e EAN-13, todos usam codificação similar. Os dados codificados geralmente são repetidos em texto simples abaixo do código de barras.
Estrutura do código de barras




O código de barras consiste em 95 áreas (também chamadas módulos[carece de fontes]) de largura igual. Cada área pode ser branca (representada aqui como 0) ou preta (representada como 1). Da esquerda para a direita:
- 3 áreas para o marcador de início (101)
- 42 áreas (sete por dígito) para codificar dígitos 2–7, e para codificar o dígito 1 indiretamente, como descrito na seção seguinte
- 5 áreas para o marcador central (01010)
- 42 áreas (sete por dígito) para codificar dígitos 8–13
- 3 áreas para o marcador de fim (101)
Codificação dos dígitos
Para codificar o número EAN-13 de 13 dígitos, os dígitos são divididos em 3 grupos; o primeiro dígito, o primeiro grupo de 6 e o último grupo de 6. O primeiro grupo de 6 é codificado usando um padrão pelo qual cada dígito tem duas codificações possíveis, uma das quais tem paridade par (denotada com a letra G) e uma das quais tem paridade ímpar (denotada com a letra L). O primeiro dígito não é representado diretamente por um padrão de barras e espaços, mas é codificado indiretamente, selecionando um padrão de escolhas entre essas duas codificações para o primeiro grupo de 6 dígitos, de acordo com a tabela abaixo. Todos os dígitos no último grupo de 6 dígitos são codificados usando um único padrão RRRRRR, o mesmo usado para UPC. Se o primeiro dígito for zero, todos os dígitos no primeiro grupo de 6 são codificados usando o padrão LLLLLL usado para UPC; portanto, um código de barras UPC também é um código de barras EAN-13 com o primeiro dígito definido como zero.
| Primeiro dígito | Primeiro grupo de 6 dígitos | Último grupo de 6 dígitos |
|---|---|---|
0 |
LLLLLL |
RRRRRR
|
1 |
LLGLGG |
RRRRRR
|
2 |
LLGGLG |
RRRRRR
|
3 |
LLGGGL |
RRRRRR
|
4 |
LGLLGG |
RRRRRR
|
5 |
LGGLLG |
RRRRRR
|
6 |
LGGGLL |
RRRRRR
|
7 |
LGLGLG |
RRRRRR
|
8 |
LGLGGL |
RRRRRR
|
9 |
LGGLGL |
RRRRRR
|
Essa codificação garante que o primeiro grupo sempre comece com um código L, que tem paridade ímpar, e que o segundo grupo sempre comece com um código R, que tem paridade par. Assim, não importa se o código de barras é escaneado da esquerda ou da direita, pois o software de escaneamento pode usar essa paridade para identificar o início e o fim do código. Códigos de barras EAN-8 codificam todos os dígitos diretamente, usando este esquema:
| Primeiro grupo de 4 dígitos | Último grupo de 4 dígitos |
|---|---|
LLLL |
RRRR
|
| Dígito | Código L | Código G | Código R |
|---|---|---|---|
0 |
0001101 |
0100111 |
1110010
|
1 |
0011001 |
0110011 |
1100110
|
2 |
0010011 |
0011011 |
1101100
|
3 |
0111101 |
0100001 |
1000010
|
4 |
0100011 |
0011101 |
1011100
|
5 |
0110001 |
0111001 |
1001110
|
6 |
0101111 |
0000101 |
1010000
|
7 |
0111011 |
0010001 |
1000100
|
8 |
0110111 |
0001001 |
1001000
|
9 |
0001011 |
0010111 |
1110100
|
Nota: Entradas na coluna R são complementos bit a bit (operador lógico: negação) das respectivas entradas na coluna L. Entradas na coluna G são as entradas na coluna R em ordem bit reversa. Veja imagens de todos os códigos contra um fundo colorido. Uma sequência de uma ou mais áreas pretas é conhecida como "barra", e uma sequência de uma ou mais áreas brancas é conhecida como "espaço". Como pode ser visto na tabela, a codificação de cada dígito compreende duas barras e dois espaços, e a largura máxima de uma barra ou espaço é quatro áreas.
Exemplo de código de barras EAN-13

- C1, C3: Marcador de início/fim.
- C2: Marcador para o centro do código de barras.
- 6 dígitos no grupo esquerdo: 003994.
- 6 dígitos no grupo direito (o último dígito é o dígito verificador): 155486.
- Um dígito é codificado em sete áreas, por duas barras pretas e dois espaços brancos. Cada barra preta ou espaço branco pode ter uma largura entre 1 e 4 áreas.
- Paridade para os dígitos dos grupos esquerdo e direito: OEOOEE EEEEEE (O = Paridade ímpar, E = Paridade par).
- O primeiro dígito no código EAN: a combinação de paridades dos dígitos no grupo esquerdo codifica indiretamente o primeiro dígito 4.
O código EAN-13 completo é assim: 4 003994 155486.

Decodificação
Ao utilizar o marcador central do código de barras, um scanner pode decodificar um Número Internacional de Artigo (EAN) escaneando uma metade do código de barras por vez através de uma varredura helicoidal em um ângulo de 45 graus. Esse método reconstrói o código completo a partir de escaneamentos parciais, útil quando o código de barras está obscurecido ou danificado. Algoritmos de detecção de erros, como verificação de soma de verificação, desempenham um papel crucial ao identificar e corrigir erros de escaneamento, garantindo uma decodificação precisa. Além disso, scanners modernos frequentemente empregam escaneamento omnidirecional, aprimorando sua capacidade de ler códigos de barras em vários ângulos. Esses scanners também aproveitam a estrutura simétrica do EAN-13, permitindo a decodificação de qualquer direção. Algoritmos de detecção de erros, como o algoritmo Luhn, comumente usado em cálculos de soma de verificação, verificam a integridade dos dados escaneados. Se erros forem detectados, o scanner pode alertar o usuário ou tentar a correção, melhorando a confiabilidade do escaneamento em condições dinâmicas ou menos que ideais.
Número de Artigo Japonês
Número de Artigo Japonês (JAN) é um padrão de código de barras compatível com o EAN. É um subconjunto do EAN. O uso do padrão JAN começou em 1978. Originalmente, o JAN recebeu um código de bandeira (sistema de numeração do EAN) de 49. Em 1992, o JAN recebeu adicionalmente um código de bandeira de 45. Em janeiro de 2001, o código do fabricante mudou para 7 dígitos (9 dígitos incluindo o código de bandeira) para novas empresas.[7]
Ver também
- EAN-8, outro padrão EAN
- EAN-5, um suplemento para o preço de lista sugerido
- EAN-2, um suplemento para indicar um número de edição
- Intercâmbio Eletrônico de Dados
- European Article Numbering-Uniform Code Council
- Registro Global de Informações Eletrônicas de Partes (GEPIR) um banco de dados distribuído pesquisável de GS1 GTINs
- GTIN
Referências
- ↑ «European Article Number: Was das ist und wie man sie beantragt» (em alemão). 30 de setembro de 2019. Consultado em 17 de dezembro de 2019. Cópia arquivada em 17 de dezembro de 2019
- ↑ GS1 India (7 de junho de 2021). «EAN 13 – The Barcode Number». Consultado em 27 de junho de 2021. Cópia arquivada em 27 de junho de 2021.
The first three digits of the EAN-13 serve as the GS1 Prefix
- ↑ «Prefix List». GS1. Consultado em 25 de setembro de 2010. Cópia arquivada em 28 de dezembro de 2014.
- ↑ «Barcodes for Books». Consultado em 20 de dezembro de 2012. Cópia arquivada em 2 de janeiro de 2013
- ↑ «EAN-13 Symbology». www.barcodeisland.com. Consultado em 1 de maio de 2016. Arquivado do original em 14 de janeiro de 2016
- ↑ «Check Digit Calculator». GS1 US. Consultado em 29 de outubro de 2025. Cópia arquivada em 21 de novembro de 2016
- ↑ «Bar Code Guide – Barcode Types – JAN». Consultado em 2 de maio de 2016. Cópia arquivada em 27 de janeiro de 2013
Ligações externas
- OpenFoodFacts, um banco de dados gratuito e colaborativo de produtos com códigos EAN
- Global Electronic Party Information Registry (GEPIR)
- «upcdatabase, outro banco de dados de códigos de barras online». Arquivado em 2020-11-09 no Wayback Machine
- Explicação de George J. Laurer para executar seu Diretório de Registro de Números Autenticados, Arquivado em 2016-11-25 no Wayback Machine
- EAN-Search, banco de dados de códigos de barras baseado em assinatura com API, mais de 275 milhões de entradas
- «Página inicial oficial do JAN». (em japonês)