1001Ferramentas
Validators

Brazilian Bank Account Validator

Validate Brazilian bank account numbers by check digit for major banks (Bradesco, Itaú, Banco do Brasil, Santander and Caixa). Browser-side verification.

How does the validation work?

In Brazil, each bank applies its own algorithm (most of the time, variations of modulo 11) to compute the check digit for the branch and account. That digit confirms the remaining numbers are internally consistent and were typed without error.

What the tool does is verify the math behind the check digit. It queries no banking database whatsoever, and it makes no promise that the account actually exists.

Why Brazil has no national bank-account standard

Unlike SEPA countries, which adopted the IBAN (ISO 13616) as a uniform identifier, Brazil never converged on a single bank-account format. Each financial institution authorized by the Banco Central do Brasil (BCB) is free to define its own agency length, account length, check-digit rules and internal sub-codes. The only piece of metadata that is truly federated is the COMPE code, a 3-digit identifier maintained by FEBRABAN under the BCB's Centralizing System of Bank Reserves (Sistema de Compensacao de Cheques e Outros Papeis).

Historically, COMPE existed to route paper checks between banks. With the rise of STR (Sistema de Transferencia de Reservas), electronic TED and the deprecation of DOC in February 2024, COMPE migrated to the ISPB (Identificador do Sistema de Pagamentos Brasileiro), an 8-digit code used by Pix and STR. For end-user contexts (account opening, payroll input, billing forms), the legacy 3-digit COMPE is still the universal reference.

COMPE codes you will see in 90 percent of forms

  • 001 Banco do Brasil
  • 033 Santander
  • 077 Banco Inter
  • 104 Caixa Economica Federal
  • 208 BTG Pactual
  • 237 Bradesco
  • 260 Nu Pagamentos (Nubank)
  • 341 Itau Unibanco
  • 336 C6 Bank
  • 655 Banco Votorantim

Account anatomy: agency + check digit + account + check digit

A Brazilian bank coordinate is conventionally written as BANK / AGENCY-X / ACCOUNT-Y. Each segment has bank-specific semantics:

  • Agency (agencia): 4 numeric digits identifying the physical or virtual branch. Some banks (Santander, fintechs) omit the agency check digit; others (Banco do Brasil, Bradesco) require it.
  • Account number: between 4 and 11 digits depending on the bank. Caixa accepts up to 11; Itau settles on 5; Bradesco on 7; Banco do Brasil up to 8; Nubank can reach 10.
  • Check digit (DV): 1 character, numeric or the letter X (used by Caixa and Bradesco when the modulo result yields 10).
  • Account type prefix at Caixa and BB: a 2 or 3-digit code identifying poupanca, salario, corrente or judicial (e.g. 013 savings at Caixa, 51 poupanca at BB).

Check-digit algorithms per bank

There is no single algorithm. Each bank publishes its rules in a "Layout de Conta" document for clearing partners:

Banco do Brasil (001)

  • Weights 9,8,7,6,5,4,3,2 applied right-to-left.
  • Sum, take modulo 9, the result itself is the DV (range 0-8; never 9 by construction). Some legacy variants use modulo 11 with X for 10.

Caixa Economica Federal (104)

  • Weights 2,3,4,5,6,7,8,9 (right-to-left) on the 3-digit operation code concatenated with the 8-digit account number.
  • Sum, modulo 11, DV = 11 - remainder; if 10, DV = 0; if 11, DV = 0.

Itau Unibanco (341)

  • Weights alternating 2,1,2,1... (Luhn-style) on agency + account; if a product exceeds 9, sum its digits.
  • Sum, modulo 10, DV = 10 - remainder; if 10, DV = 0.

Bradesco (237)

  • Weights 2,3,4,5,6,7 right-to-left on the 7-digit account number.
  • Sum, modulo 11, DV = 11 - remainder; if 11, DV = 0; if 10, DV = P historically, but the public layout now uses 0.

Account types and what they unlock

The same agency/number coordinate can map to different products. The 2-digit suffix (or BB's 3-digit operation code) clarifies which:

  • Conta Corrente: the default checking account, supports TED, Pix, debit card and overdraft (cheque especial).
  • Conta Poupanca: savings account, regulated by SBPE rules, monthly interest tied to the SELIC rate; BB encodes it with the 51 suffix on the account number.
  • Conta Pagamento: Nubank, Mercado Pago, PicPay and most fintechs operate under BCB Circular 3.681/2013 as IPs (Instituicoes de Pagamento), not as banks; the account is still a valid Pix destination but cannot host investments directly.
  • Conta Salario: opened by the employer, exempt from monthly fees under BCB Resolution 3.402/2006; only the employee can transfer balance out, free of charge, to any other account.
  • Conta Judicial: opened by court order, blocked except by judicial release.

Open Finance, Pix and the slow death of legacy account numbers

Brazil's Open Finance regime, the local equivalent of Europe's PSD2, advanced through four phases: data sharing (2021), transactional services (2021), payment initiation (2022) and credit and insurance integration (2022-2023). Today, the relevant identifier for most consumer flows is the Pix key — CPF, CNPJ, email, phone or a UUID v4 random key — which abstracts away the agency/account/DV triple.

Legacy account numbers remain relevant for: (i) salary direct deposit and payroll consortia that still require the COMPE coordinate; (ii) TED transfers, the only rail with same-day settlement under T+0 for amounts above R$ 1 million with cutoff at 17h30; (iii) accounting reconciliation in ERPs that pre-date Pix; (iv) public-sector procurement (SIAFI) where Pix is still being rolled out for low-value transactions. DOC was extinguished in February 2024; only TED, TEF and Pix remain.

Integration patterns: payouts, KYC and anti-fraud

When platforms like Stripe Connect BR, Iugu, EBANX, Pagar.me, Adyen and dLocal onboard sellers, they collect bank coordinates for split payouts. The standard pipeline:

  • Local DV validation (this tool's scope): catch typos at form submit before any API call.
  • Holder name match: cross-check the account holder against CPF/CNPJ via Serasa, Quod, Boa Vista or the BCB's CCS (Cadastro de Clientes do Sistema Financeiro).
  • Penny-drop test: send a token amount (R$ 0.01) and ask the user to confirm the value received — proves they actually own the account.
  • OFX statement import: for reconciliation, parse OFX 1.0/2.0 files exported by the banking app.

FAQ

Can I check online whether an account is active?

No public, free service exists. Banks do not expose holder data — that would violate Complementary Law 105/2001 on banking secrecy. Authorized bureaus do offer paid cadastro positivo queries.

Is there a universal check-digit algorithm?

No. Each bank publishes its own layout document. Itau uses modulo 10 Luhn-style; BB favors modulo 9; Caixa and Bradesco use modulo 11 with weights starting at 2.

Did Pix replace TED and DOC?

DOC was discontinued in February 2024. TED still exists for high-value transfers and corporate flows where 24/7 instant settlement is not required.

Why does my account have only 4 digits?

Some banks (older Itau retail accounts, Banese, regional cooperatives) issue 4 to 6-digit numbers because their original ledger systems pre-date the standardization of agency layouts.

Does the agency check digit really matter?

Yes when the bank uses it (Banco do Brasil, Bradesco). When omitted (Santander, Nubank, most fintechs), assume the DV is implicit and use only the 4 main digits.

Related Tools

Validate a bank account number

Many Brazilian banks calculate a check digit for the account number, and verifying that digit catches a typo before it causes trouble in a transfer or registration. This tool validates the account number using the main banks' algorithms.

The most-used banks are covered, such as Bradesco, Itaú and others, each with its own rule for calculating the digit. Use it to double-check an account's data before registering it for payment, validate a supplier spreadsheet, or spare yourself the hassle of a transfer bounced for an invalid account.

The check runs entirely in the browser, with no data sent to any server. Pick the bank, enter the account and confirm its validity right there, with privacy.