Decodificador e validador de Pix copia e cola

Descubra o que há dentro de um código Pix antes de pagar ou antes de imprimir: chave, recebedor, valor, identificador, tipo do código e conferência do CRC, campo a campo.

Cole o texto completo, de 000201 até os 4 caracteres do CRC. Nada é enviado.

O que é um decodificador de Pix copia e cola?

Um decodificador de Pix copia e cola é uma ferramenta que lê o texto de um QR Code Pix (o payload BR Code) e o separa nos campos definidos pelo Banco Central do Brasil: identificador de formato, método de iniciação, bloco da conta com a chave Pix, categoria, moeda, valor, país, nome, cidade, identificador da transação e CRC. Ele também recalcula o CRC16 para dizer se o código está íntegro. Tudo roda no seu navegador; o texto colado não é enviado a lugar nenhum.

Como usar

  1. Copie o Pix copia e cola que você recebeu, ou extraia o texto de um QR Code com a câmera ou um leitor genérico.
  2. Cole no campo acima e clique em Decodificar. Quebras de linha são ignoradas; espaços internos do nome são preservados.
  3. Leia o resultado: situação do CRC, se é um código Pix (GUI br.gov.bcb.pix), estático ou dinâmico, chave e tipo de chave, nome, cidade, valor, txid e a árvore TLV completa.

O que cada campo quer dizer

IDCampoValor no código estático
00Payload Format Indicator01, sempre
01Point of Initiation Methodomitido ou 11 (reutilizável); 12 = uso único
26Merchant Account Informationsubcampo 00 = br.gov.bcb.pix, 01 = chave, 02 = descrição opcional
52Merchant Category Code0000 quando não há categoria
53Transaction Currency986 = real brasileiro (ISO 4217)
54Transaction Amountopcional; ponto decimal, até 2 casas, ex. 25.90
58Country CodeBR
59Merchant Namenome do recebedor, até 25 caracteres ASCII
60Merchant Citycidade, até 15 caracteres ASCII
62Additional Data Fieldsubcampo 05 = txid (até 25 alfanuméricos) ou ***
63CRCCRC16-CCITT (polinômio 0x1021, inicial 0xFFFF) de tudo o que vem antes, inclusive 6304

Exemplo prático

Clique em "Usar o exemplo do Banco Central" para carregar o código do manual oficial. O resultado mostra CRC válido (1D3D), arranjo Pix, tipo estático reutilizável, chave aleatória 123e4567-e12b-12d1-a456-426655440000, nome Fulano de Tal, cidade BRASILIA, valor não definido e txid ***. Troque o último caractere por qualquer outro e decodifique de novo: o CRC passa a inválido, que é exatamente o que o app do pagador faria.

Estático, estático de uso único e dinâmico

TipoComo reconhecerQuem pode gerar
Estático reutilizávelCampo 01 ausente ou 11; chave no 26-01Qualquer pessoa, inclusive este site
Estático de uso únicoCampo 01 = 12; chave no 26-01Qualquer pessoa; o app pode recusar reutilização
DinâmicoCampo 01 = 12 e URL do PSP no 26-25Só o banco ou PSP da conta, via API, com payload assinado

Usos comuns

Limites desta ferramenta

O decodificador valida a estrutura e o CRC. Ele não sabe se a chave está cadastrada, se a conta existe, se um código dinâmico já foi pago ou se a URL do payload está ativa, porque nada disso está no texto e nenhuma dessas consultas é possível fora de uma instituição participante do Pix. Para saber se uma chave é válida em formato e se os dígitos de CPF ou CNPJ conferem, use o validador de chave Pix. Para criar o seu próprio código, use o gerador de QR Code Pix.

Referências

Banco Central do Brasil, Manual de Padrões para Iniciação do Pix; EMVCo, EMV QR Code Specification for Payment Systems, Merchant Presented Mode (estrutura TLV e CRC).

Perguntas sobre o decodificador

O que significa CRC válido?

Que os quatro caracteres finais correspondem ao CRC16-CCITT calculado sobre o resto do código, ou seja, o texto não foi truncado nem alterado depois de gerado. Não significa que a chave existe nem que o recebedor é quem diz ser.

O decodificador consulta o banco para saber de quem é a chave?

Não. A consulta ao DICT (diretório de chaves do Banco Central) só é feita pelo app do pagador, autenticado na instituição. Este site lê apenas o que está escrito no código; para saber o nome vinculado à chave, inicie o pagamento no seu app e confira a tela de confirmação sem concluir.

Como sei se o código é dinâmico?

Um código dinâmico tem no campo 26 o subcampo 25 com a URL do payload (algo como qrcodepix.banco.com.br/…) em vez da chave no subcampo 01. O decodificador mostra a URL quando ela existe. O conteúdo da cobrança (valor final, vencimento, situação) fica nessa URL e só o app do pagador o consulta.

Posso decodificar um QR Code a partir da imagem?

Esta página aceita o texto. Para extrair o texto de uma imagem, abra o QR na câmera ou em um leitor de QR genérico e copie o resultado; depois cole aqui.

O que é a árvore TLV?

A representação de cada campo como ID, tamanho e valor, com os subcampos de 26 e 62 indentados. É útil para desenvolvedores conferirem tamanhos e para encontrar o campo exato que está errado em um código que o app recusa.

Por que o app recusa um código que aqui aparece válido?

As causas mais comuns: chave excluída ou inexistente, valor acima do seu limite, nome ou cidade com caracteres fora do ASCII, ou um código dinâmico cujo payload expirou. O decodificador detecta problemas de estrutura, não de cadastro.