Como Verificar se um IMEI É Válido (o Algoritmo de Luhn Explicado)

Como Verificar se um IMEI É Válido (o Algoritmo de Luhn Explicado)

Aprenda a verificar se um IMEI de 15 dígitos é válido usando o algoritmo de Luhn — com um guia passo a passo e um exemplo totalmente resolvido.

Random IMEI Team · May 25, 2026
#IMEI validation #Luhn algorithm #check IMEI #valid IMEI #IMEI checksum #IMEI validator #mobile QA

Você tem um IMEI de 15 dígitos diante de você. Talvez um cliente o tenha digitado em um formulário, talvez ele tenha vindo do anúncio de um telefone usado, talvez sua suíte de testes acabou de gerá-lo. Antes de confiar nele, uma pergunta importa: ele é realmente válido?

"Válido" tem aqui um significado preciso. Não quer dizer que o dispositivo seja real, esteja desbloqueado ou fora da lista negra — quer dizer que o número é estruturalmente correto: exatamente 15 dígitos, no formato certo, com um dígito verificador que passa no algoritmo de Luhn. Essa é a primeira barreira que todo IMEI precisa vencer, e você pode testá-la em segundos.

Este guia mostra exatamente como verificar se um IMEI é válido — à mão, com a matemática totalmente resolvida, e com o validador de IMEI instantâneo quando você só precisa de uma resposta.


O que "Válido" Realmente Significa

Um IMEI passa na validação quando satisfaz três condições:

  1. Comprimento — tem exatamente 15 dígitos (alguns sistemas também aceitam a variante IMEISV de 16 dígitos).
  2. Caracteres — cada caractere é um dígito 09. Sem letras, espaços ou símbolos depois de limpo.
  3. Soma de verificação — o último dígito (dígito 15) coincide com o valor que o algoritmo de Luhn calcula a partir dos primeiros 14 dígitos.

Essa terceira condição é a interessante. O dígito verificador não é escolhido livremente — ele é derivado dos demais dígitos para que o número inteiro passe em um teste matemático específico. Erre um único dígito ao copiar um IMEI e a soma de verificação quase sempre falha, que é exatamente o que ela foi projetada para detectar.

Importante: um IMEI válido não é o mesmo que um dispositivo legítimo. Um número pode ser perfeitamente válido pelo Luhn e, ainda assim, não pertencer a nenhum telefone real, ou pertencer a um telefone que esteja na lista negra. A validação verifica o formato, não o status. Para o status, veja nosso guia de verificação de IMEI na lista negra.


A Forma Mais Rápida: Usar um Validador

Se você só precisa de uma resposta de sim ou não, pule a matemática:

  1. Abra o validador de IMEI.
  2. Cole o número de 15 dígitos (espaços e hífens são removidos automaticamente).
  3. Leia o resultado — válido ou inválido — junto com um detalhamento do TAC, do número de série e do dígito verificador.

Essa é a abordagem certa para verificações pontuais e para usuários não técnicos. Mas entender como a verificação funciona torna você muito melhor em identificar dados errados, então vamos percorrer o algoritmo.


O Algoritmo de Luhn, Passo a Passo

O algoritmo de Luhn (também chamado de módulo 10) foi patenteado em 1960 e é usado para validar números de cartão de crédito, IMEIs e muitos outros identificadores. Aqui está o procedimento para um IMEI de 15 dígitos.

Passo 1 — Pegue os primeiros 14 dígitos

O 15º dígito é o dígito verificador; você o comparará no final. Trabalhe com os dígitos de 1 a 14.

Passo 2 — Dobre cada segundo dígito

Começando pelo dígito mais à direita desses 14 e seguindo para a esquerda, dobre cada segundo dígito. (De forma equivalente, dobre os dígitos nas posições pares contando a partir da esquerda.)

Passo 3 — Reduza os resultados de dois dígitos

Se a duplicação produzir um número maior que 9, subtraia 9 (ou some os dois dígitos entre si — mesmo resultado). Assim 12 vira 3, 16 vira 7, 10 vira 1.

Passo 4 — Some tudo

Some todos os dígitos processados: os dobrados e reduzidos mais os que ficaram intactos.

Passo 5 — Calcule o dígito verificador

Encontre o próximo múltiplo de 10 igual ou superior à sua soma e, em seguida, subtraia a soma. Esse resultado é o dígito verificador esperado. Se ele for igual ao 15º dígito do seu IMEI, o número é válido. Se o total já for um múltiplo de 10, o dígito verificador é 0.


Um Exemplo Totalmente Resolvido

Vamos validar o IMEI 35 824011 345678 4. Os primeiros 14 dígitos são:

3 5 8 2 4 0 1 1 3 4 5 6 7 8

Dobre cada segundo dígito (os dígitos nas posições 2, 4, 6, 8, 10, 12, 14 a partir da esquerda — 5, 2, 0, 1, 4, 6, 8):

Original Dobrado Reduzido
5 10 1
2 4 4
0 0 0
1 2 2
4 8 8
6 12 3
8 16 7

Agora intercale-os com os dígitos de posição ímpar intactos (3, 8, 4, 1, 3, 5, 7), mantendo cada dígito na sua posição original:

3, 1, 8, 4, 4, 0, 1, 2, 3, 8, 5, 3, 7, 7

Soma: 3 + 1 + 8 + 4 + 4 + 0 + 1 + 2 + 3 + 8 + 5 + 3 + 7 + 7 = 56.

Dígito verificador: o próximo múltiplo de 10 igual ou superior a 56 é 60, então 60 − 56 = 4.

O dígito verificador calculado é 4, e o 15º dígito do nosso IMEI também é 4. Eles coincidem, então 358240113456784 é um IMEI válido. (Este é o mesmo passo a passo que a calculadora da página inicial executa no servidor para cada número que gera.)


Motivos Comuns para um IMEI Falhar na Validação

Quando uma verificação falha, quase sempre é por um destes motivos:

  • Erro de transcrição — um único dígito digitado errado ou transposto. É exatamente isso que o Luhn foi feito para detectar.
  • Comprimento errado — 14 dígitos (falta um) ou 16 dígitos (um IMEISV com o sufixo de versão de software, ou um caractere a mais).
  • Caracteres ocultos — um espaço, hífen ou espaço sem quebra perdido, colado de uma planilha. Sempre remova primeiro tudo o que não for dígito.
  • Não é um IMEI — um número de série, um MEID ou uma sequência aleatória confundida com um IMEI.
  • Dados de preenchimento — sequências como 123456789012345 ou 000000000000000 que nunca foram feitas para ser reais.

Verificar IMEIs em Grande Escala

Validar um número é fácil. Validar milhares — em um pipeline de QA, em uma tarefa de triagem de fraude ou em um script de limpeza de dados — exige automação. A lógica é pequena o suficiente para ser implementada em qualquer linguagem. Aqui está a verificação de Luhn essencial em JavaScript:

function isValidImei(imei) {
  const digits = String(imei).replace(/\D/g, '');
  if (digits.length !== 15) return false;
  let sum = 0;
  for (let i = 0; i < 15; i++) {
    let d = Number(digits[i]);
    // double every second digit from the right
    if ((15 - i) % 2 === 0) {
      d *= 2;
      if (d > 9) d -= 9;
    }
    sum += d;
  }
  return sum % 10 === 0;
}

Repare nesta propriedade elegante: se você incluir o dígito verificador na soma e o total for divisível por 10, o IMEI é válido. É a mesma regra, expressa em uma única linha.

Se você precisa de um fornecimento constante de IMEIs estruturalmente válidos para alimentar esses testes — números que passam nesta mesma verificação e carregam prefixos TAC realistas — gere-os em lote na página inicial do Random IMEI e exporte direto para CSV.


Validar vs. Gerar: Dois Lados da Mesma Moeda

Vale a pena deixar clara a diferença:

  • Validar responde "este número existente está bem formado?" Use o validador de IMEI.
  • Gerar produz novos números válidos para testes. Use o gerador.

As equipes de QA usam os dois: geram um lote de IMEIs válidos como dados de teste e, em seguida, confirmam que sua aplicação os valida corretamente (e rejeita os defeituosos que criaram de propósito).


Perguntas Frequentes

Como verifico se um IMEI é válido?

Confirme que ele tem exatamente 15 dígitos, contém apenas números e que o último dígito coincide com a soma de verificação de Luhn dos primeiros 14. O método mais rápido é colá-lo no validador de IMEI, que faz as três verificações instantaneamente.

O que é o algoritmo de Luhn?

O algoritmo de Luhn (módulo 10) é uma fórmula de soma de verificação que detecta erros acidentais em números de identificação. Para IMEIs, ele confere se o 15º dígito é matematicamente coerente com os outros 14, capturando a maioria dos erros de digitação de um único dígito e das transposições.

Um IMEI válido significa que o telefone é genuíno?

Não. A validação apenas confirma que o formato do número está correto. Um IMEI válido pelo Luhn ainda pode não pertencer a nenhum dispositivo real ou pertencer a um que esteja na lista negra. Para verificar o status do dispositivo, use uma operadora ou um serviço de lista negra dedicado, e não um validador de formato.

Por que meu IMEI falha na validação?

As causas mais comuns são um dígito digitado errado, o comprimento errado (14 ou 16 em vez de 15), ou espaços e hífens ocultos copiados de outro aplicativo. Remova tudo, exceto os dígitos, e verifique o comprimento primeiro.

Posso validar um IMEI offline?

Sim. A verificação de Luhn é uma aritmética simples que não precisa de conexão com a internet nem de banco de dados. Você pode calculá-la à mão, em uma planilha ou com algumas linhas de código como o exemplo acima.

Um número de 14 dígitos pode ser um IMEI válido?

Não. Um IMEI padrão tem 15 dígitos. Um valor de 14 dígitos está sem o dígito verificador (pode ser apenas o TAC mais o número de série). O IMEISV de 16 dígitos é uma variante distinta que substitui o dígito verificador por um número de versão de software de 2 dígitos.

Onde posso obter IMEIs válidos para testes?

Gere-os. O gerador Random IMEI cria números de 15 dígitos com prefixos TAC autênticos e dígitos verificadores de Luhn corretos, de modo que cada resultado passa na validação descrita neste artigo.

Experimente nossas ferramentas

Gere números IMEI aleatórios válidos ou valide os existentes instantaneamente.