Guia · Dados do Brasil · Boleto

Como ler a linha digitável do boleto

A linha digitável de 47 dígitos e o código de barras de 44 carregam as mesmas informações em ordens diferentes. Veja onde estão o banco, o valor e o vencimento, como os dígitos verificadores funcionam, o que mudou no fator de vencimento em 22/02/2025 e por que o boleto de 48 dígitos é outra coisa.

Duas representações do mesmo dado

Todo boleto bancário (o de cobrança) tem um código de barras de 44 posições, que é o que o leitor ótico lê, e uma linha digitável de 47 dígitos, que é a mesma informação reorganizada para ser digitada ou copiada. A Convenção da FEBRABAN deixa claro que os dados da linha digitável não aparecem na mesma sequência dos do código de barras. Quem desenvolve ou concilia pagamentos precisa saber converter entre os dois.

O código de barras de 44 posições

A linha digitável de 47 dígitos

Ela é dividida em cinco campos. Os três primeiros terminam com um DV próprio em módulo 10; o quarto é só o DV geral; o quinto junta fator e valor.

Exemplo real, dígito a dígito

Este é o exemplo clássico da documentação de cobrança, calculado com o código do Me Ajuda Flow. A linha digitável é:

00190.50095 40144.816069 06809.350314 3 37370000000100

Montando o código de barras de 44 dígitos na ordem correta (banco, moeda, DV geral, fator, valor, campo livre), o resultado é:

00193373700000001000500940144816060680935031

O campo livre é a concatenação das posições 20 a 44: 0500940144816060680935031. O fator 3737 corresponde a 31/12/2007, e os três DVs de campo e o DV geral conferem.

Como os DVs funcionam

Os DVs de campo (módulo 10) servem para detectar erro de digitação dentro de cada bloco: você digita o campo 2 errado e o DV acusa. O DV geral (módulo 11) confere o código de barras inteiro. Por isso um erro de digitação é apontado pelo campo, e não só no final. No módulo 10 os dígitos são multiplicados alternadamente por 2 e 1, da direita para a esquerda, e os algarismos dos produtos são somados. Para 001905009 o DV é 5, e para 4014481606 é 9. Confirme os detalhes do cálculo na Convenção da FEBRABAN antes de implementar do zero.

Fator de vencimento e a reinicialização de 22/02/2025

O fator de vencimento é um contador de dias com 4 dígitos, que entrou no código de barras pela Carta-Circular 2926 do Banco Central, com validade a partir de 1º de setembro de 2000. A mesma norma diz que 0000 nesse campo indica que o código de barras não contém fator de vencimento.

A contagem parte de 07/10/1997. Ao chegar em 9999, em 21/02/2025, ela foi reiniciada em 1000 a partir de 22/02/2025, conforme comunicado da FEBRABAN divulgado pelo mercado. Com o código do Me Ajuda Flow:

Consequência prática: o mesmo número pode significar duas datas, uma de cada ciclo. O fator 3737 do exemplo acima é 31/12/2007 no ciclo antigo, e seria 21/08/2032 no novo. Um sistema que lê boletos precisa decidir qual ciclo usar, em geral o mais próximo da data de hoje, e mostrar a data para conferência humana. O ciclo novo vai de 1000 até 9999 de novo, o que dá 9.000 dias: o próximo limite é por volta de 13/10/2049.

Atenção: não consegui abrir o comunicado original da FEBRABAN sobre a reinicialização; a regra acima vem do cálculo do código do projeto e de fornecedores que citam o comunicado. Se você vai alterar uma regra de validação em produção, confirme o texto oficial com o seu banco ou com a FEBRABAN.

Boleto de convênio e arrecadação: 48 dígitos

Contas de consumo (água, luz, telefone) e tributos usam outro padrão. A linha tem 48 dígitos, em quatro blocos de 11 dígitos, cada um seguido do seu próprio DV, e o código começa com 8. Esse formato não segue o leiaute banco, moeda e campo livre. Pelo que o decodificador do Me Ajuda Flow implementa, o início identifica o produto e o segmento (por exemplo, energia elétrica e gás), o valor e o tipo de DV, e o restante identifica a empresa ou órgão e o documento; confirme na convenção de arrecadação. Um código de barras de convênio também tem 44 dígitos, mas não é um boleto bancário, e tratá-lo como tal gera erro.

Exemplo gerado pelo código do Me Ajuda Flow, com dados fictícios: a linha 836900000016 234512345674 812345678906 000000000000 (48 dígitos, sem pontos) tem o código de barras de 44 dígitos 83690000001234512345678123456789000000000000 e valor de R$ 123,45 (segmento 3, energia elétrica e gás). O leiaute completo desse padrão pertence a outra convenção, que não abri aqui: use a documentação da FEBRABAN para o convênio quando precisar de todos os campos.

Checklist de validação

  1. Conte os dígitos: 47 (cobrança), 48 (convênio) ou 44 (código de barras).
  2. Se começa com 8 e tem 44 ou 48 dígitos, é convênio, não cobrança.
  3. Confira os três DVs de campo e o DV geral.
  4. Leia o valor dos 10 últimos dígitos e divida por 100. Valor zero merece atenção: confirme com o emissor se o valor é variável.
  5. Se o fator for 0000, não há vencimento no código. Se não, converta o fator e confira a data.

Para fazer essa decodificação sem escrever código, cole a linha na ferramenta de boleto do Me Ajuda Flow: ela separa os campos, confere os DVs e mostra o vencimento. Para o equivalente do Pix, veja o decodificador de Pix; para conferir datas, a calculadora de datas.

Ferramentas para usar com este guia

Fontes oficiais