An International Bank Account Number, or IBAN, is a standard way of identifying a bank account for cross-border payments. Before IBANs were standardised, international transfers relied on a patchwork of national account formats, and errors were common: a missing digit here, a transposed pair there, and a payment could go astray or be delayed for days while banks investigated. The IBAN was designed to reduce that risk by giving every participating country a single, checkable format. It does not replace the need to confirm who you are paying, but it does give banks and senders a structured string that can be validated before money moves. The IBAN Format Guide on this site explains that structure country by country, so you can read an IBAN rather than merely copying it blindly.
Every IBAN, whatever the country, begins with the same four characters. The first two are the country code, using the familiar two-letter ISO country code, such as GB for the United Kingdom, DE for Germany or FR for France. The next two characters are check digits, which are calculated from the rest of the IBAN using a standard arithmetic procedure known as mod-97. Those check digits are not random: they are chosen so that the whole IBAN, when converted and divided by 97, leaves a remainder of 1. That property is what allows a validator to catch most typing errors, including single-digit errors and many transpositions, without needing to contact a bank. After those first four characters comes the Basic Bank Account Number, whose internal layout is defined separately by each country and can include a bank code, a branch or sort code, and the account number itself.
Length is the first thing to check, and it varies considerably. A British IBAN is 22 characters long, a German IBAN is also 22, a French IBAN is 27, and some countries have IBANs as short as 15 or as long as 34 characters. That variation is not a flaw; it reflects the different national account structures that the IBAN wraps. The practical consequence is that you cannot judge an IBAN by length alone without knowing its country: a 22-character string is correct for GB and DE but wrong for FR, and a string of the right length for its country can still be wrong in its check digits or its internal structure. Any tool that checks IBANs must therefore know the expected length and layout for each country it claims to support.
Consider a clearly labelled sample IBAN for the United Kingdom, which is not a real person's account: GB29 NWBK 6016 1331 9268 19. Read it in parts. GB is the country code. 29 are the check digits. NWBK is the bank identifier for a well-known sample bank code. 601613 is the six-digit sort code, shown in the sample as 6016 13, and 31926819 is the eight-digit account number. Spaces are added for readability when an IBAN is printed, but they are not part of the IBAN itself and are removed before validation or transmission. Counting the characters without spaces gives 22, which matches the expected length for GB. This sample is widely used in documentation precisely because it is a recognised example format, and it must not be treated as an account to which money can be sent.
Country layouts differ in more than length. In Germany, the national part contains an eight-digit bank code followed by a ten-digit account number, with leading zeros used to pad shorter account numbers to the full length. In France, the national part contains a five-digit bank code, a five-digit branch code, an eleven-character account number that can include letters, and two national check digits of its own. In some countries the account number may contain letters as well as digits, while in others it is digits only. A format guide therefore needs to show, for each country, not only the total length but also the position and character type of each field, so that a sender can see whether a string that looks plausible is actually structured correctly for that country.
When you receive an IBAN, a sensible checking routine has five steps. First, remove spaces and convert all letters to upper case, because IBANs are case-insensitive but are conventionally written in upper case. Second, confirm the country code is a country that uses IBANs and note the expected length for that country. Third, check that the total length matches. Fourth, check that each field contains the right kind of characters in the right positions. Fifth, run the mod-97 check on the rearranged string. If any step fails, do not send money to that IBAN: ask the recipient to confirm the details through a trusted channel, ideally one separate from the message that supplied the IBAN, because payment fraud often works by substituting a plausible-looking account number at the last moment.
It is equally important to understand what a format check does not do. Passing a mod-97 check proves that the string is internally consistent, not that the account exists, that it is open, that it belongs to the person you intend to pay, or that it can receive the currency you are sending. A completely invented IBAN can pass a format check if its check digits are calculated correctly, just as a correctly spelled word can still be the wrong word in a sentence. Banks perform their own account existence and name checks at payment time where those services are available, but a sender should never treat a green tick from a format validator as confirmation of the payee. That distinction is the single most important safety message in this whole topic.
Finally, handle IBANs as sensitive information. An IBAN alone does not usually allow money to be taken from an account in the way a card number or password might, but it is still personal financial information, and it should not be shared publicly, pasted into untrusted websites, or stored unnecessarily. When you copy an IBAN, copy it from a trusted source such as a bank statement or the payee's own secure portal, check it character by character against the source, and keep a record of the payment details you used. The format guide is there to help you read and check that string with confidence, but the responsibility for confirming the payee remains with the sender, and no guide or calculator can take that responsibility away.
Try it next: use the iban-format-guide with your own figures, then compare with the IBAN Validator and the SWIFT BIC Code Finder. For background reading, see Canada Bank Transit Number Validator Guide.