UK Sort Code & Bank Account Number Checker (Modulus Check)
Catch a mistyped account number before you pay. Checked in your browser, nothing sent.
Result
How it was checked
What a pass does and does not tell you
- Pass: the account number is possible for that sort code, so it was probably not mistyped.
- It does not prove that the account exists, is open, or who it belongs to. Before paying someone new, use your bank’s name check (Confirmation of Payee) and confirm details you were sent by another route.
- Fail: the pair cannot be right. Check for swapped or missing digits.
- No check for this sort code: the bank publishes no rule for it, so the details cannot be checked this way. It does not mean the sort code exists.
The check runs in your browser with the modulus weight table and sorting code substitution table that Vocalink publishes with its “Validating account numbers” specification. Nothing you type is sent or stored.
About the UK Sort Code & Bank Account Number Checker (Modulus Check)
Before a payment is sent, UK banks and payment software run a modulus check: a sum on the digits of the sort code and account number that shows whether the pair can be right. Enter both here and the checker applies the same rules — Vocalink’s “Validating account numbers” specification, with the published modulus weight table, the sorting code substitution table and all 14 exceptions — and tells you in plain words whether the numbers pass, fail or cannot be checked.
It also shows every step: which check the sort code uses, the weights, the products and the remainder. A pass means the numbers are well-formed for that sort code; it never proves that the account exists or who owns it. Everything runs in your browser, so the details you type are not sent or stored.
How to use it
- Type or paste the sort code (12-34-56, 12 34 56 or 123456). Pasting both numbers at once fills both fields: on their own, in a line such as “Sort code: 12-34-56, Account number: 12345678”, or as a UK IBAN.
- Type the account number. For a 10-digit number, choose the bank so the right eight digits are used.
- Read the result: passes, fails, no check for this sort code or foreign currency account, with every step below it.
- Copy the result if you need it for your records.
Examples
Standard modulus 10, weights 0 0 0 0 0 0 7 1 3 7 1 3 7 1 6×7 + 6×1 + 3×3 + 7×7 + 4×1 + 9×3 + 5×7 + 8×1 = 180 → divides by 10 → passes
Total 181 → remainder 1 → fails: the pair cannot be right
Exception 5: the substitution table uses 93-86-11 for the check; both the modulus 11 and the double alternate check digits match → passes
Santander (formerly Alliance & Leicester Commercial Bank): the first digit replaces the last digit of the sort code, and the last eight digits are checked
Common uses
- Checking bank details from an invoice or a new supplier before paying them.
- Spotting a typing mistake in a payroll or Direct Debit form.
- Testing your own payment software against the specification’s test cases.
How the checks work
The sort code and the 8-digit account number make one 14-digit number (positions u to z, then a to h). The modulus weight table says, for each range of sort codes, which check to run and the weight of every position; some sort codes need two checks.
- Standard modulus 10 and 11: multiply each digit by its weight, add the results and divide by 10 or 11. No remainder means a pass.
- Double alternate: multiply each digit by its weight (2 or 1), add up the individual digits of the results (18 counts as 1 + 8) and divide by 10.
If a sort code is in no range, there is no check for it: the specification says such details should be presumed valid unless other evidence implies otherwise.
The exceptions
Some banks vary the method, marked by an exception number in the table: adding 27 to the total (1), Lloyds euro accounts checked a second time with sort code 30-96-34 (2 and 9), skipping the second check when the third account digit is 6 or 9 (3), a remainder that must equal a two-digit check digit (4), sort codes replaced from the substitution table with separate check digits for both checks (5), foreign currency accounts that cannot be checked (6), weights set to zero for some account numbers (7 and 10), a fixed sort code for the check (8), either of two checks being enough (10 and 11, 12 and 13), and Coutts account numbers shifted for a second try (14). The calculator applies each one and says when it did.
Account numbers that are not 8 digits
- 6 or 7 digits: zeros are added in front (Clydesdale customers may quote 6 digits, but payments use all 8).
- 9 digits (Santander, formerly Alliance & Leicester Commercial Bank): the first digit of the account number replaces the last digit of the sort code, and the last eight digits are used.
- 10 digits: NatWest uses the last eight digits; The Co-operative Bank and Leeds Building Society use the first eight.
Building society roll numbers (often with letters) are not account numbers and cannot be checked here.
Where the rules come from
Vocalink publishes the specification and its two data files on its modulus checking page and replaces them when banks add or change sort codes. This checker is built from the files published there and is rebuilt when a new version appears. Banks also look the sort code up in the industry sorting code directory (EISCD); this page does not have that directory, so it cannot tell you whether a sort code is in use.
Limitations
- A pass does not prove that the account exists, is open or belongs to the person you expect. Confirmation of Payee at your bank checks the name.
- It cannot tell whether a sort code is in use: that needs the industry sorting code directory, which this page does not have.
- Foreign currency accounts at some banks cannot be checked (exception 6).
- One pair at a time. A UK IBAN is split into its sort code and account number after its check digits are tested; IBANs from other countries and international bank codes (BIC or SWIFT) are not checked.
Privacy
Everything happens in your browser. What you enter or open here is not uploaded or stored by MySmartCoPilot.
Frequently asked questions
Does a pass mean the account exists?
No. It means the account number is possible for that sort code, so it was probably copied correctly. Whether the account exists, and whose it is, only the bank knows: use Confirmation of Payee when you set up the payment.
My account number is correct but it fails. Why?
First check every digit and the sort code. If you are sure, the account may be one the published rules do not cover in the usual way, such as a foreign currency account, or the bank may have changed its rules before the tables here were updated. Ask the bank to confirm.
What is a modulus check?
A check-digit test: each digit of the sort code and account number is multiplied by a weight, the results are added up, and the total must divide by 10 or 11 (with some exceptions). It catches most typing mistakes, such as a wrong or swapped digit.
Why is there no check for my sort code?
Not every bank publishes modulus rules. When a sort code is in none of the published ranges, the account number cannot be checked this way, and payment systems treat the details as possibly valid.
Can I check the sort code inside an IBAN?
Yes. A UK IBAN starts with GB, two check digits and a four-letter bank code; the next six digits are the sort code and the last eight the account number. Paste the IBAN into the sort code field: the checker tests its two check digits (ISO 7064 modulus 97) and, when they are right, fills in both numbers and runs the modulus check on them.
Is it safe to type my bank details here?
The check runs in your browser and nothing is sent or stored. Sort codes and account numbers are not secret on their own, but never share them with someone you do not trust.