Published ·13 min read
What Is an IBAN? Your IBAN Number Explained
What is an IBAN? Learn how an IBAN number is structured, how mod-97 validation works, IBAN vs BIC, virtual IBANs and your rights against IBAN discrimination.
Type your account details into any European payment form and the first field you meet is the IBAN. Most people copy and paste theirs without ever wondering what those 18 to 34 characters actually encode. That is a shame, because the IBAN is one of the quiet success stories of financial infrastructure: a single standard that lets a payment leave a bank in Lisbon and land at the right account in Helsinki without a human ever re-keying a number.
Understanding your IBAN matters for practical reasons too. It tells you which country your account sits in, which institution holds it, and whether a typo will be caught before your money leaves. It also determines things you might not expect — whether an employer's payroll system accepts your account, whether a subscription service can legally refuse it, and how a fintech or crypto bank is able to hand you a Dutch account number within minutes of signing up.
In this guide you'll learn exactly how an IBAN number is built, character by character, how the mod-97 checksum catches typos, how an IBAN differs from a BIC or SWIFT code, why virtual IBANs can cause salary problems, what your rights are when a company refuses your foreign IBAN, and how crypto-linked IBANs — like the ones NGIBANK issues — actually work under the hood.
What is an IBAN, exactly?
IBAN stands for International Bank Account Number. It is a standardized way of writing a bank account identifier so that any bank, anywhere, can parse it without ambiguity. The format is defined by an international standard, ISO 13616, and the official registry of participating countries is maintained by SWIFT in its role as the registration authority.
More than 80 countries and territories have adopted the standard — all of the EU and EEA, the UK, Switzerland, most of the Middle East, and a growing list of countries in Latin America, Africa and Central Asia. Notably absent are the United States, Canada, Australia and most of Asia, which still use domestic formats such as US routing numbers plus account numbers.
An IBAN is not a new account number. It wraps your existing domestic account number in a standard envelope: a country code, two check digits, and then the domestic part. Your underlying account stays exactly what it was; the IBAN simply makes it machine-readable across borders. Maximum length is 34 characters, but every country fixes its own exact length — 18 in the Netherlands, 22 in Germany, 24 in Spain, 27 in France.
The anatomy of an IBAN: country code, check digits, BBAN
Every IBAN follows the same three-part pattern:
- Country code — two letters from ISO 3166 (NL, DE, ES, FR…). This tells the receiving bank which national format to expect.
- Check digits — two digits calculated from the rest of the IBAN. They exist purely to catch errors.
- BBAN — the Basic Bank Account Number, which is the country's own domestic format. Its structure differs per country but is fixed within each country.
Let's dissect a real-format Dutch example, the one used in official documentation: NL91 ABNA 0417 1643 00.
- Characters 1–2: NL — the country code for the Netherlands.
- Characters 3–4: 91 — the check digits for this specific IBAN.
- Characters 5–8: ABNA — the four-letter bank code identifying the institution (here ABN AMRO). Every Dutch bank has one; NGIBANK's customers see their own bank code in the same position.
- Characters 9–18: 0417164300 — the ten-digit account number, padded with leading zeros if the original number is shorter.
That's the entire Dutch BBAN: four letters plus ten digits, always 14 characters, making the full IBAN always 18. A German IBAN instead packs an 8-digit Bankleitzahl (bank routing code) and a 10-digit account number into its BBAN, which is why German IBANs are 22 characters. A Spanish IBAN adds a 4-digit branch code and two extra national control digits, landing at 24. The spaces you see in printed IBANs are purely cosmetic — electronically, an IBAN is one unbroken string.
Why IBANs exist: a short history of ISO 13616
Before IBANs, cross-border payments in Europe were a manual mess. Every country had its own account format, and banks employed staff to repair payments where the beneficiary details didn't parse. Error rates were high, repairs cost real money, and a significant share of international transfers arrived late or bounced entirely.
The European Committee for Banking Standards proposed a fix in the 1990s, and ISO 13616 was first published in 1997. The design goal was modest and brilliant: don't replace national account systems, just wrap them in a validated envelope. The standard got its killer app when the EU built SEPA, the Single Euro Payments Area. Since 2014, the IBAN has been the mandatory account identifier for euro credit transfers and direct debits across all SEPA countries — banks were even forbidden from demanding anything extra for domestic payments.
The result is measurable. Straight-through processing rates for SEPA payments routinely exceed 99%, and a euro transfer that once took a week now settles next business day — or in seconds, since SEPA Instant became broadly available. If you want to understand how those rails compare to the international SWIFT network, our guide to SEPA versus SWIFT transfers covers the differences in cost and speed.
How IBAN validation works: the mod-97 check
The two check digits are the IBAN's built-in typo detector, and the algorithm behind them — defined in ISO 7064 as mod 97-10 — is simple enough to follow by hand.
To validate NL91ABNA0417164300:
- Move the first four characters to the end: ABNA0417164300NL91.
- Replace every letter with two digits, where A=10, B=11 … Z=35. So A→10, B→11, N→23, A→10, and later N→23, L→21. The string becomes 101123100417164300232191.
- Treat that as one large integer and divide it by 97. If the remainder is exactly 1, the IBAN is structurally valid.
Because 97 is prime and the whole string participates in the calculation, the check catches every single-character typo and virtually all transpositions — swapping two adjacent digits changes the remainder. That is why your banking app can refuse an IBAN instantly, before any money moves: it isn't asking a database, it's doing arithmetic.
One important limitation: mod-97 proves the IBAN is well-formed, not that the account exists or belongs to the person you think. That gap is being closed by Verification of Payee, which EU rules made mandatory for euro payments in late 2025 — your bank now checks the beneficiary name against the IBAN and warns you on a mismatch before you confirm.
IBAN vs BIC: what's the difference with a SWIFT code?
People often conflate the IBAN with the BIC, but they answer different questions. The IBAN identifies an account. The BIC — Business Identifier Code, defined by ISO 9362 and often called a SWIFT code — identifies a bank. A BIC is 8 or 11 characters: four for the institution, two for the country, two for the location, and an optional three for a branch. INGBNL2A, for instance, is ING in the Netherlands.
Within SEPA you almost never need to supply a BIC anymore. The "IBAN-only" rule has applied since 2016: because the IBAN already contains the bank code, your bank derives the BIC itself. For payments outside SEPA over the SWIFT network, the BIC is still required, because many destination countries don't use IBANs and the routing has to be resolved bank by bank. If you receive money from the US, for example, the sender will ask for both your IBAN and your bank's BIC. Our article on receiving wire transfers as crypto walks through what that looks like in practice when your account sits at a crypto bank.
Virtual IBANs vs personal IBANs — and why salary payments care
Not every IBAN you're given is a full bank account. Many fintechs issue virtual IBANs: alias numbers that all route into one pooled account held by the provider or a partner bank. From the outside a virtual IBAN looks identical to any other — it validates, it receives SEPA payments — but the account of record belongs to the platform, not to you.
For everyday use the difference is often invisible. It starts to matter in three situations:
- Salary payments. Some employers and payroll providers require an account held in the employee's own name. With Verification of Payee now live across the euro area, a virtual IBAN that resolves to a provider's name rather than yours can trigger mismatch warnings or outright rejections on payday.
- Direct debits and refunds. Merchants and tax authorities sometimes refund only to the account of record, and a pooled structure can complicate that.
- Deposit protection and insolvency. With a personal account, the legal relationship is between you and the bank. With pooled structures, you depend on how well the provider segregates client funds.
A personal IBAN, by contrast, designates an account held in your own name at the issuing institution. When NGIBANK onboards a customer, it issues a personal Dutch IBAN in the customer's name — which is precisely what makes it usable for salaries. If you're paid in crypto or want your salary to arrive as digital euros, the mechanics are covered in our crypto payroll guide.
IBAN discrimination: your rights under Article 9 of the SEPA Regulation
Here is a scenario thousands of Europeans know: you live in Germany, you hold a Dutch or Lithuanian IBAN from a fintech, and your gym, employer or utility says "we only accept German IBANs." That practice has a name — IBAN discrimination — and it has been illegal since 2014.
Article 9 of the SEPA Regulation (EU) No 260/2012 is explicit. A payer making a credit transfer to a payee with an account inside the Union may not specify in which Member State that account must be located, and the same applies in reverse: a business collecting payments or a payee receiving them cannot demand that your account sit in a particular country, as long as the account is SEPA-reachable. A Dutch NL IBAN must be accepted anywhere a domestic IBAN would be — for salaries, direct debits, subscriptions, government payments, all of it.
If a company refuses your IBAN:
- Point them to Article 9 of Regulation (EU) 260/2012 in writing — many refusals are outdated payroll software plus habit, and a written reference resolves a surprising number of cases.
- If they persist, complain to the national competent authority in the country where the company is based; every Member State has designated one, and several publish IBAN-discrimination complaint forms online.
- Document the refusal. Fines have been issued against companies in multiple Member States, and enforcement has grown teeth as regulators lose patience a decade after the deadline.
How fintechs and crypto banks issue IBANs
A logical question: if IBANs belong to the banking system, how does a young fintech — or a crypto bank — hand you one on day one? There are three routes.
First, direct issuance: the institution holds its own licence, participates in payment schemes, has its own bank code in the national registry and generates IBANs for customers directly. Second, agency or sponsor models: a partner bank that is a scheme member issues IBANs on the fintech's behalf, in ranges allocated to it. Third, virtual IBAN providers: a wholesale provider rents out alias IBANs pointing at pooled accounts, as described above.
Which model your provider uses is worth knowing, because it determines who actually holds your money and under which supervision. In Europe, MiCA — Regulation (EU) 2023/1114 — brought crypto-asset service providers under a common licensing regime, which is what allows a regulated crypto institution to combine custody of digital assets with genuine payment infrastructure. NGIBANK B.V., for instance, is licensed as a crypto-asset service provider under MiCA by the Dutch Authority for the Financial Markets (AFM), and issues each customer a personal Dutch IBAN alongside a payment card. Our explainer on MiCA regulation covers what that licence does and does not guarantee.
What a crypto-linked IBAN means at NGIBANK
A crypto-linked IBAN behaves like any other IBAN on the outside — your employer, clients or tax office see a normal Dutch account number. The difference is what happens after arrival. An incoming SEPA or SWIFT transfer to an NGIBANK IBAN can settle directly as digital value on the Solana network — digital euros or USDC — typically within seconds of the fiat leg completing, since Solana itself settles in roughly 400 milliseconds for fees of a fraction of a cent. In the other direction, you can send SOL, USDC or NGI out of your account and it leaves as an ordinary bank wire to any IBAN or international account: wire to crypto, crypto to wire, one account number for both worlds. You can see how the full setup works at NGIBANK.
Honest trade-off: crypto rails add considerations classic accounts don't have. Stablecoin and crypto balances are not covered by traditional deposit-guarantee schemes, and asset prices — outside euro-pegged instruments — fluctuate. A regulated wrapper reduces counterparty risk; it doesn't remove market risk.
Is it safe to share your IBAN?
Short answer: yes, for its intended purpose. An IBAN is a receiving address. Knowing it lets someone send you money and, in combination with a signed mandate, set up a direct debit — it does not let anyone pull money out of your account at will. Businesses print IBANs on every invoice for a reason.
The realistic risks are narrower. Fraudulent direct debits are possible but reversible: under SEPA rules you can reclaim any direct debit within eight weeks no questions asked, and unauthorized ones within thirteen months. The bigger danger runs the other way — invoice fraud, where a scammer alters the IBAN on a bill you pay. That's exactly the gap Verification of Payee now closes, and why you should treat any "our bank details have changed" email with suspicion. Never share more than the IBAN and name: your card number, PIN, or banking credentials are a different category entirely.
This article is for general information only and does not constitute financial, tax or legal advice. Verify requirements with your bank, employer or a qualified adviser for your specific situation.
Frequently asked questions about IBANs
Can two people or accounts share the same IBAN?
No. An IBAN uniquely identifies exactly one account at one institution — that uniqueness is the entire point of the standard. A joint account has one IBAN shared by its holders, but the IBAN still points to a single account. What can happen is that virtual IBAN providers issue many alias IBANs that all feed one underlying pooled account; each alias is still unique, but the account of record behind them is shared. If you ever see the "same" IBAN attributed to two different institutions, one of them is wrong — or you're looking at fraud.
Does my IBAN change if I move to another country?
Your IBAN is tied to the account, not to your address. If you keep your account, you keep your IBAN, even after relocating. Thanks to Article 9 of the SEPA Regulation, employers and companies in your new country must accept it for salaries and direct debits. Many people living abroad deliberately keep one euro account — say, a Dutch IBAN — for life, precisely because SEPA makes the account's country legally irrelevant. If you open a new local account instead, that new account naturally comes with a new IBAN in the local format.
Why was my IBAN rejected by an online form?
Three common causes. First, a genuine typo — the mod-97 check fails and the form correctly refuses it. Second, a lazy validator: some forms hard-code one national format and reject valid foreign IBANs; that is a bug on their side, and if it's used to refuse your account country, it may amount to IBAN discrimination. Third, formatting: some forms choke on spaces or lowercase letters. Re-enter the IBAN as one unbroken uppercase string. If a structurally valid IBAN is still refused, contact the company — and cite Regulation 260/2012 if the refusal is country-based.
Do the United States and other non-IBAN countries have an equivalent?
The US uses an ABA routing number plus an account number; there is no American IBAN, and no plans for one. Canada uses transit numbers, most of Asia uses domestic formats. When you send money from an IBAN country to the US, you'll need the recipient's routing and account number plus the bank's BIC for SWIFT routing. In the opposite direction, a US sender needs your full IBAN and usually your bank's BIC. This asymmetry is one reason non-SEPA transfers cost more and fail more often than SEPA payments.
Is a virtual IBAN bad?
Not inherently — for receiving marketplace payouts, separating client payments or reconciling invoices, virtual IBANs are genuinely useful tools. They become a problem when you use one as your main account without realizing it: salary systems may reject them after Verification of Payee name checks, some institutions block payments to certain virtual IBAN ranges, and your funds sit in a pooled account whose protection depends on the provider's safeguarding practices. Check whether your IBAN is held in your own name at the issuing institution. If yes, it's a personal IBAN; if not, know the limitations before relying on it.
Ready to bank on Solana?
Open your account in minutes — IBAN, card and Solana wallet included.
Keep reading
June 16, 2026
The Future of Banking: Blockchain Banking in 2026
Where the future of banking stands in 2026: ISO 20022, SEPA Instant, tokenized deposits, CBDCs on public chains and what blockchain banking changes.
June 9, 2026
Self Custody vs Custodial Wallet: An Honest Guide
Self custody vs custodial wallet: real failure modes on both sides, what MiCA changed in the EU, and a practical framework to decide where your crypto lives.
June 2, 2026
Wire Transfer Fees Explained: Where Your Money Goes
Wire transfer fees can quietly eat 5% of an international payment. See where every euro goes — SWIFT fees, FX margins, hidden charges — and how to pay less.