Gerador e Validador de Código de Barras EAN-13 em Lote (Mercado Livre & SEFAZ)

Gere e valide códigos de barras EAN-13 / GTIN individuais ou em lote com cálculo oficial de Módulo 10 (GS1) para Mercado Livre, Shopee, Amazon e SEFAZ.

⚡ Geração em Lote (1 a 100) 🇧🇷 Padrão Nacional GS1 Brasil (789/790) 📦 Exportação CSV para Bling / Tiny 📥 Download da Imagem do Código de Barras
Digite um código de 13 dígitos acima para validação matemática.
// Cálculo do Dígito Verificador EAN-13 em JavaScript
function calcularDigitoEAN13(base12) {
    let soma = 0;
    for (let i = 0; i < 12; i++) {
        const d = parseInt(base12[i], 10);
        soma += (i % 2 === 0) ? (d * 1) : (d * 3);
    }
    const resto = soma % 10;
    return (resto === 0) ? 0 : (10 - resto);
}

function validarEAN13(ean) {
    const clean = ean.replace(/\D/g, '');
    if (clean.length !== 13) return false;
    return parseInt(clean[12], 10) === calcularDigitoEAN13(clean.substring(0, 12));
}
# Cálculo do Dígito Verificador EAN-13 em Python 3
def calcular_dv_ean13(base12: str) -> int:
    soma = sum(int(d) * (1 if i % 2 == 0 else 3) for i, d in enumerate(base12))
    resto = soma % 10
    return 0 if resto == 0 else (10 - resto)

def validar_ean13(ean: str) -> bool:
    clean = ''.join(filter(str.isdigit, str(ean)))
    if len(clean) != 13: return False
    return int(clean[12]) == calcular_dv_ean13(clean[:12])
<?php
// Cálculo do Dígito Verificador EAN-13 em PHP 8+
function calcularDvEan13(string $base12): int {
    $soma = 0;
    for ($i = 0; $i < 12; $i++) {
        $soma += ($i % 2 === 0) ? ($base12[$i] * 1) : ($base12[$i] * 3);
    }
    $resto = $soma % 10;
    return ($resto === 0) ? 0 : (10 - $resto);
}

function validarEan13(string $ean): bool {
    $clean = preg_replace('/\D/', '', $ean);
    if (strlen($clean) !== 13) return false;
    return (int)$clean[12] === calcularDvEan13(substr($clean, 0, 12));
}
=MOD(10-MOD(EXT.TEXTO(A1;1;1)*1 + EXT.TEXTO(A1;2;1)*3 + EXT.TEXTO(A1;3;1)*1 + EXT.TEXTO(A1;4;1)*3 + EXT.TEXTO(A1;5;1)*1 + EXT.TEXTO(A1;6;1)*3 + EXT.TEXTO(A1;7;1)*1 + EXT.TEXTO(A1;8;1)*3 + EXT.TEXTO(A1;9;1)*1 + EXT.TEXTO(A1;10;1)*3 + EXT.TEXTO(A1;11;1)*1 + EXT.TEXTO(A1;12;1)*3; 10); 10)

Como Funciona o Cálculo do Dígito Verificador do EAN-13 (Algoritmo Módulo 10 GS1)

A estrutura do EAN-13 é composta por 12 dígitos de dados e 1 dígito de verificação final (D13). O cálculo matemático segue a regra oficial da GS1 Global:

  1. Multiplica-se os dígitos nas posições ímpares (1, 3, 5, 7, 9, 11) pelo peso 1.
  2. Multiplica-se os dígitos nas posições pares (2, 4, 6, 8, 10, 12) pelo peso 3.
  3. Soma-se todos os 12 produtos obtidos.
  4. Calcula-se o resto da divisão por 10 (Soma % 10).
  5. Se o resto for 0, o dígito verificador é 0. Caso contrário, o dígito é 10 - Resto.

Tabela de Prefixos GS1 de Países

Prefixo InicialPaís / Organização Emissora
789 e 790🇧🇷 Brasil (GS1 Brasil)
000 a 139🇺🇸 Estados Unidos e Canadá
300 a 379🇫🇷 França
400 a 440🇩🇪 Alemanha
500 a 509🇬🇧 Reino Unido
690 a 699🇨🇳 China
779🇦🇷 Argentina

🔗 Conheça Também: Central de Ferramentas Online | Gerador de PIX Copia e Cola | Gerador de CPF e CNPJ