Go to the checker

SWIFT Code Guide

Home → Check a list of BIC and IBAN codes at once

Check a list of BIC and IBAN codes at once

Paste a spreadsheet column of BICs and IBANs, or IBAN and BIC pairs, and get a reason for every failing row, duplicates flagged, and a CSV to fix the source file.

3 min read · Codes and rules next re-read on or before 2026-12-14

What the code checker does: 8 tools

Why check a whole list

Supplier files, payroll exports and customer forms collect bank details typed by hand. One wrong character can bounce a payment days later, with fees on the way out and back. Checking the column before a payment run takes seconds, and the browser does all the work: nothing is uploaded, which matters when the file holds other people's account numbers.

What you can paste

What each row is checked against

Code Checks
BIC 8 or 11 characters; letters in positions 1 to 6, letters or digits after that (the 4!a 2!a 2!c [3!c] format in SWIFT's policy); characters 5 and 6 a real ISO 3166-1 country code; position 8 = 0 flagged as a test and training code
IBAN Country in the Swift IBAN Registry; exact length and pattern for that country; modulo 97 check digits
IBAN + BIC on one row Same country; for countries whose IBAN holds a four-letter bank code, the same letters at the start of the BIC
Whole list Repeated rows, marked "same as row N"

Sources: Swift IBAN Registry, SWIFT BIC policy, Swift ISO 9362 information paper.

One code, start to finish

The list pre-filled above has ten rows. What the tool says about four of them:

Row Pasted Result
4 GB82WEST12345698765423 Fails: length and pattern fine for the UK, check digits do not add up; the reason lists the few positions to look at, including 21–22, where two digits are swapped
5 GB29NWBK60161331926819 (tab) NWBKGB2L Passes as a pair: both GB, and NWBK appears in both
7 NWBK GB 2L Passes: spaces are removed, NWBKGB2L is a valid shape
9 CHASUS33 Passes, and flagged as the same as row 8

Row 10, AB12, fails with "Length is 4 characters: 4 too few for an 8-character code".

Using the result

What it cannot tell you

A row that passes is well formed. The code may still be unassigned or closed, and the account may belong to someone else. For a large payment run, confirm new or changed details with the payee by phone, and in the euro area use your bank's payee name check. If a row fails, do not "fix" an IBAN yourself by guessing a digit: a corrected-looking IBAN can be another person's real account. Ask for it again.

Single codes are easier in the BIC checker or the IBAN checker, which show each character.

Did a bank change its code or branch details? Report a changed code