Skip to content
IBANforge
IBAN by country

Bahrain IBAN

22 characters: the country code, two check digits, then the BBAN cut as below.

Anatomy of the official example

BH67BMAG00001299123456

  • Country code
  • Check digits
  • Bank code
  • Account number

The example comes from the ISO 13616 registry; it belongs to nobody. Positions count from the first character of the IBAN.

The facts about the Bahrain IBAN
ISO codeBH
Length22 characters
Check digitspositions 3 to 4, ISO 7064 mod 97-10
Bank codepositions 5 to 8 · 4!a
Account numberpositions 9 to 22 · 14!c
Official exampleBH67 BMAG 0000 1299 1234 56
SEPA areaoutside the SEPA area
Verification of Payeeno duty to date
Bank-code registerIBANforge composite map, assembled from BIC directories (not a national register)

SWIFT notation: n = digits, a = upper-case letters, c = alphanumeric characters; the exclamation mark fixes the exact length.

What the API checks on a Bahrain IBAN

  • The length, the charset of every field and the mod-97 check digits.
  • The bank code against our composite map assembled from BIC directories: a BIC and a bank name when they are listed, without the weight of a national register.
  • The country is outside SEPA: a SEPA transfer will not reach this account.

What the API answers for this code

The block below is the route's own answer, produced by the same code that serves api.ibanforge.com, on the register as of the date shown. Nothing is edited.

{
  "valid": true,
  "country": {
    "code": "BH",
    "name": "Bahrain"
  },
  "bic": {
    "code": "BMAGBHBMXXX",
    "bic8": "BMAGBHBM",
    "bank_name": "CENTRAL BANK OF BAHRAIN",
    "city": "MANÂMA",
    "source": "IBANforge curated bank-code map",
    "as_of": "2026-09",
    "basis": "curated_map",
    "authoritative": false,
    "lei": "54930065PJIB53WWMP12"
  },
  "bank_code_check": {
    "value": "BMAG",
    "status": "verified",
    "match": "register",
    "register": "IBANforge composite bank-code map (assembled from BIC directories, not a national bank-code register)",
    "authoritative": false,
    "as_of": "2026-09"
  },
  "sepa": {
    "member": false,
    "schemes": [],
    "vop_required": false,
    "vop_participant": false,
    "basis": "country_default"
  },
  "issuer": {
    "type": "bank",
    "name": "CENTRAL BANK OF BAHRAIN",
    "classification": "default"
  },
  "risk_indicators": {
    "country_risk": "standard",
    "sepa_reachable": false,
    "vop_coverage": false,
    "test_bic": false
  }
}
Test a Bahrain IBAN for freeAudit a whole creditor fileThe POST /v1/iban/validate routeAll countries

Source: ISO 13616 registry for the length, layout and example; API answer captured on 2026-09-23.