Desenvolvimento Web

Credit Card Validator

Verificar o número do cartão com o algoritmo de Luhn, identificar a bandeira e o comprimento. Tudo é calculado no navegador — o número não é enviado para lugar nenhum.

The Luhn algorithm is a checksum most payment networks append to a card number to catch accidental typing errors (one transposed or mistyped digit). This tool checks a number against Luhn and identifies the payment network from its prefix (BIN).

How to use it

Common uses

Things to keep in mind

A card passing the Luhn check doesn't mean it's active, unblocked, or even real — the check only catches obvious typing mistakes.

Card data is processed entirely in your browser and never sent anywhere, but for actual payments, always use a certified payment form (PCI DSS) rather than pasting a real card number into a third-party tool.

Artigo sobre esta ferramenta: O algoritmo de Luhn: como um número de cartão é verificado quanto à correção

Perguntas frequentes

Uma verificação aprovada significa que o cartão é real e tem fundos?

Não — esta ferramenta apenas verifica a soma de verificação de Luhn e o comprimento de dígitos esperado para a rede detectada; ela não pode dizer se o cartão realmente existe, está ativo ou tem fundos, já que isso requer contatar o emissor do cartão.

Como funciona o algoritmo de Luhn?

Ele dobra cada segundo dígito a partir da direita, soma os dígitos dos resultados junto com os dígitos inalterados, e verifica se o total é múltiplo de 10 — ele detecta a maioria dos erros de digitação e dígitos transpostos, mas não é uma verificação de fraude.

Meu número de cartão é enviado para algum lugar?

Não, a validação acontece inteiramente no seu navegador e o número nunca é transmitido ou armazenado.

Como a bandeira (Visa, Mastercard etc.) é identificada a partir do número do cartão?

Pelos primeiros dígitos do número, chamados de BIN (Bank Identification Number) — por exemplo, números Visa sempre começam com 4, e Mastercard com o intervalo 51–55 ou 2221–2720; os formulários de pagamento usam esse prefixo para mostrar o ícone da bandeira antes mesmo de você terminar de digitar o número.

O BIN permite saber qual banco emitiu o cartão?

Parcialmente — os primeiros 6 dígitos (o BIN estendido) geralmente permitem identificar não só a bandeira, mas também o banco emissor específico e o tipo de cartão (débito ou crédito), embora determinar o banco com precisão exija bases de dados de BIN especializadas, não o algoritmo de Luhn em si.

Artigos: Desenvolvimento Web

HEX, RGB, HSL: por que existem tantas formas de escrever uma cor

Por que designers costumam preferir HSL em vez de HEX ao escolher um tom de cor à mão.

Minificação de CSS: o que é realmente removido do arquivo, e por quê

Por que o CSS minificado funciona exatamente igual no navegador, mesmo se tornando ilegível para um humano.

Minificação de JavaScript: a diferença entre minificar e ofuscar

Por que o código minificado ainda pode ser lido se você quiser, enquanto o ofuscado não pode.

Minificação de HTML: por que os espaços na marcação importam

Por que remover espaços dentro de <pre> ou de um textarea pode quebrar a aparência da página, ao contrário de quase todo o resto.

Gradientes CSS: como linear difere de radial e conic

Por que conic-gradient serve para gráficos de pizza enquanto radial-gradient cria um efeito de mancha de luz.

IBAN: como é estruturado um número de conta bancária internacional

Por que as duas primeiras letras de um IBAN são um código de país, não parte do número da conta em si.

Códigos QR: como um link cabe em um quadrado de pixels

Por que um código QR com um logo no meio ainda é escaneado mesmo com parte do padrão coberta.

Códigos de barras: como Code 128 difere do EAN-13

Por que produtos nas prateleiras das lojas quase sempre usam EAN-13 em vez de Code 128.

Imagens placeholder: por que imagens falsas importam durante o desenvolvimento

Por que desenvolvedores deliberadamente colocam retângulos cinzas em vez de fotos reais enquanto um layout ainda está sendo construído.