Gemba · FCA FRN 804853  ·  Independent editorial · Introducer Partner

Bank account checker: does this sort code and account number add up?

UK account numbers carry a check digit. This tool applies the official modulus rules to tell you whether a sort code and account number can legitimately go together — before a payment bounces. It runs in your browser; the numbers are never sent anywhere.

Check a sort code and account number

Six-digit sort code, eight-digit account number. Dashes and spaces are ignored. Six- and seven-digit account numbers are padded with leading zeros, as the specification requires.

What a modulus check proves — and what it does not

The short version. It confirms the arithmetic: every UK account number contains a check digit, and the rules published by Vocalink work out whether that digit is consistent with the sort code. A failure means something is mistyped. A pass does not mean the account exists, and it never tells you whose account it is.

For that you need Confirmation of Payee, which matches the account name against live bank records. A payment can pass every modulus check and still land with the wrong person.

How the check works

The sort code and account number are written as one fourteen-digit string, following the specification’s notation of positions u to h. Each digit is multiplied by a weight taken from the published table, the results are added up, and the total is divided by a modulus. No remainder means the number is well-formed.

There are three methods, and which one applies depends on the sort code range:

1,166 rules from the published weight table, plus 21 sorting code substitutions. Retrieved 11 September 2026.
Method Modulus How the total is formed Rules using it
Standard modulus 11 11 Each digit multiplied by its weight; the products are added 921
Double alternate 10 Each digit multiplied by its weight, then the digits of each product are added — so 9×2 contributes 1+8, not 18 195
Standard modulus 10 10 Each digit multiplied by its weight; the products are added 50

Account numbers that are not eight digits

The check assumes eight digits. Where an account number is shorter or longer, the specification sets out how to convert it first. Six- and seven-digit numbers are covered by a general rule, which this tool applies automatically. Nine- and ten-digit numbers depend on which institution holds the account — the specification names the banks but does not list their sort codes, so the tool cannot apply these for you.

Vocalink, “Validating account numbers — UK modulus checking” v9.00, section 2.1.2.
Length Institution How to standardise it
Six digitsAnyPrefix with two zeros. Applied automatically here.
Seven digitsAnyPrefix with one zero. Applied automatically here.
Nine digitsSantanderReplace the last digit of the sort code with the first digit of the account number, then use the last eight digits of the account number
Ten digitsNational Westminster BankUse the last eight digits only
Ten digitsCo-operative BankUse the first eight digits only
Ten digitsLeeds Building SocietyUse the first eight digits only

Convert the number as shown, then enter the eight digits above. The specification gives no rule for numbers shorter than six digits, and none for nine-digit accounts outside Santander.

The exceptions are where most implementations go wrong

Fourteen exceptions modify the basic procedure for particular sort code ranges. Some are small — exception 1 adds 27 to the total, exception 8 substitutes the sort code with 090126. Others change the outcome entirely: exception 3 skips the second check when the third digit of the account number is 6 or 9; exceptions 10 and 11 mean the account is valid if either check passes rather than both; exception 14 runs a second pass on a rewritten account number for Coutts accounts.

The specification ships 34 test cases that between them cover every method and every exception. This implementation passes all 34, and the test runs from the same file the page uses, so the published tool and the tested code cannot drift apart.

When you would use this

Before a Bacs submission, most usefully. A Direct Credit or Direct Debit that fails on a malformed account number comes back through the returns process days later, by which point a salary is late or a collection has missed its cycle. A modulus check catches the typo at the point of entry instead — which is why the rules exist and why payment software applies them automatically.

It is also the cheap first pass when onboarding a supplier or an employee. Validate the arithmetic here, then use Confirmation of Payee through your bank to check the name. The two answer different questions and you generally want both. Our BACS guide covers the submission cycle and what happens when a payment is returned, and the Direct Debit guide covers collection failures.

Paying outside the UK instead? An IBAN carries its own checksum, and our IBAN checker validates that the same way — in the browser, using the official MOD-97 algorithm.

Common questions

What does this checker actually prove?

It proves that a sort code and account number can go together. UK account numbers carry a check digit, and the modulus rules published by Vocalink work out whether the arithmetic holds. If it fails, something has been mistyped. If it passes, the number is well-formed — but it does not prove the account exists, and it does not tell you whose it is.

Can it tell me which bank an account belongs to?

No, and we would rather say so than guess. The mapping from sort code to bank sits in the Extended Industry Sorting Code Directory (EISCD), which is a separately licensed product. The modulus weight table we use is published free; the directory is not. A checker that names the bank is either licensing that data or inferring it from an out-of-date copy.

Is this the same as Confirmation of Payee?

No, and the difference matters for fraud. A modulus check is arithmetic: it catches typos. Confirmation of Payee checks the name on the account against the name you typed, and it runs against live bank records. A payment can pass a modulus check and still go to the wrong person. Use Confirmation of Payee through your bank for that.

Does my account data leave my browser?

No. Your browser downloads the published weight table once and does the arithmetic locally, the same way our IBAN checker works. The sort code and account number are never transmitted, so there is nothing for us to log.

Why does it say no rule exists for my sort code?

Not every sort code range has a published modulus rule — the weight table covers roughly a quarter of the numeric sort code space. Where no rule exists, the specification says to presume the combination valid unless other evidence suggests otherwise, so a missing rule is not a red flag. It is worth being precise about what it does not tell you: the weight table is not a register of sort codes in use, so this result cannot confirm the sort code is real. That mapping lives in the licensed EISCD.

My account number has nine or ten digits. What now?

Convert it to eight digits first, and the specification says how. National Westminster ten-digit numbers use the last eight digits; Co-operative Bank and Leeds Building Society use the first eight; Santander nine-digit numbers replace the last digit of the sort code with the first digit of the account number, then take the last eight. The full table is on this page. The tool cannot apply these automatically because the specification names the institutions without listing their sort codes, and that mapping lives in the licensed EISCD.

Algorithm and data: Vocalink, Validating account numbers — UK modulus checking, version 9.00 (13 July 2026), comprising the specification, the modulus weight table (VALACDOS) and the sorting code substitution table (SCSUBTAB). Retrieved 11 September 2026. Vocalink publishes updated tables periodically; ours are refreshed by a script rather than edited by hand. The sort code to bank mapping is not included — that lives in the separately licensed EISCD.

Written by the financeb2b editorial team · Last updated 11 September 2026 · Editorial policy

Paying people and suppliers at volume?

Validating account details is the easy part. If the harder part is getting payments out reliably — across currencies, on a schedule, without building the infrastructure yourself — that is what we can help with.