Skip to content

IBAN format · BR

Brazil IBAN format: 29 characters.

Brazil IBANs have 29 characters: the country code BR, two check digits and a 25-character BBAN, the national account number, laid out as 8!n5!n10!n1!a1!c.

Brazil IBAN structure

BR1800360305000010009795493C1
Country code
BR
Check digits
18
Bank code
00360305
Branch code
00001
Account
0009795493C1
Parts of a Brazil IBAN and their positions
PositionsPartIn the example
1–2Country codeBR
3–4Check digits18
5–12Bank code00360305
13–17Branch code00001
18–29Account0009795493C1

The BBAN, segment by segment

The registry writes the BBAN in SWIFT notation: n is a digit, a an upper-case letter, c a letter or digit, and the ! means a fixed length. 8!n5!n10!n1!a1!c reads:

The Brazil BBAN format, segment by segment
PositionsNotationHoldsExample
5–128!n8 digitsBank code00360305
13–175!n5 digitsBranch code00001
18–2710!n10 digits0009795493
281!a1 upper-case letterC
291!c1 letter or digit1

Brazil IBAN example

BR18 0036 0305 0000 1000 9795 493C 1 is the sample the SWIFT IBAN Registry publishes for Brazil: a well-formed IBAN for showing the format, not a real account. Written electronically it has no spaces (BR1800360305000010009795493C1); on paper it is printed in groups of four.

Its check digits, worked through with ISO 7064 mod 97-10:

  1. Move the country code and check digits to the end

    00360305000010009795493C1BR18
  2. Replace each letter with two digits (A = 10 … Z = 35)

    C = 12, B = 11, R = 27

    00360305000010009795493121112718
  3. Divide that number by 97 and keep the remainder

    Remainder 1. A valid IBAN always leaves 1, so the check digits are right.

  4. Where the check digits come from

    Put 00 in their place (BR00…), repeat steps 1–3: remainder 80. The check digits are 98 − 80 = 18.

SEPA

Brazil is not in the Single Euro Payments Area, so SEPA credit transfers and direct debits don’t reach BR IBANs.

What the format can and can’t tell you

  • Valid means the structure and check digits are right — not that the account exists or can receive payments.
  • National check digits inside the BBAN (e.g. the French RIB key, or the Spanish, Belgian and Italian CIN digits) are not verified.
  • Bank and branch codes are read from their positions; they are not looked up in a bank directory.

Check BR IBANs from code or an AI agent

REST · GET · no key
curl -s 'https://payopskit.com/api/v1/iban/BR1800360305000010009795493C1'
MCP · tools/call · validate_iban
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "validate_iban",
    "arguments": {
      "iban": "BR1800360305000010009795493C1"
    }
  }
}
Response (JSON)
{
  "input": "BR1800360305000010009795493C1",
  "iban": "BR1800360305000010009795493C1",
  "print": "BR18 0036 0305 0000 1000 9795 493C 1",
  "valid": true,
  "country": {
    "code": "BR",
    "name": "Brazil",
    "sepa": false,
    "sepaNote": null
  },
  "checkDigits": "18",
  "expectedCheckDigits": "18",
  "length": {
    "actual": 29,
    "expected": 29
  },
  "bban": "00360305000010009795493C1",
  "bbanFormat": "8!n5!n10!n1!a1!c",
  "bankCode": "00360305",
  "branchCode": "00001",
  "parts": [
    {
      "label": "Country code",
      "value": "BR",
      "start": 0,
      "end": 2,
      "kind": "country"
    },
    {
      "label": "Check digits",
      "value": "18",
      "start": 2,
      "end": 4,
      "kind": "check"
    },
    {
      "label": "Bank code",
      "value": "00360305",
      "start": 4,
      "end": 12,
      "kind": "bank"
    },
    {
      "label": "Branch code",
      "value": "00001",
      "start": 12,
      "end": 17,
      "kind": "branch"
    },
    {
      "label": "Account",
      "value": "0009795493C1",
      "start": 17,
      "end": 29,
      "kind": "account"
    }
  ],
  "checks": {
    "characters": true,
    "country": true,
    "length": true,
    "bbanFormat": true,
    "checksum": true
  },
  "errors": [],
  "notes": [
    "Valid means the structure and check digits are right — not that the account exists or can receive payments.",
    "National check digits inside the BBAN (e.g. the French RIB key, or the Spanish, Belgian and Italian CIN digits) are not verified."
  ]
}

The MCP server is at /mcp (Streamable HTTP, no key); the API and MCP docs show how to connect Claude, Cursor or VS Code.

From a national account number: GET /api/v1/iban/check-digits?country=BR&bban=… or the MCP tool compute_iban_check_digits computes the check digits and the whole IBAN.

Other 29-character IBANs

The same length doesn’t mean the same structure: compare the BBAN formats. All IBAN formats and lengths

Source: the SWIFT IBAN Registry (ISO 13616), transcribed and checked against each country’s registry example; the positions of bank and branch codes are given only where the registry’s are well established. The SWIFT IBAN Registry is the authority. Informational only.