Free Bank Account Validator
Validate IBAN, ACH routing numbers, BSB, IFSC, CLABE, and UK sort codes client-side. Flag malformed accounts before they break a payout batch.
Paste account identifier
Supports IBAN, ACH, BSB, IFSC, CLABE, and UK sort code.
Client-side validation
Format validation only. Confirm bank ownership and beneficiary details with official sources.
A checksum proves the shape, and stops there
Validation here is arithmetic on the number you typed. An IBAN is checked by moving the first four characters to the end, converting letters to digits, and taking the result modulo 97, which has to come out at 1. A US routing number is checked with the weights three, seven and one across its nine digits, where the weighted total has to divide by ten. Both catch a mistyped digit and most transpositions. Neither contacts a bank, so a number can pass every check on this page and belong to an account that closed last year.
Take the routing number 021000021. The first, fourth and seventh digits are 0, 0 and 0 and contribute nothing. The second, fifth and eighth are 2, 0 and 2, giving 28 at a weight of seven. The third, sixth and ninth are 1, 0 and 1, contributing 2. The total is 30, which divides by ten, so the number is well formed. That is the whole claim. Whether the institution behind it accepts the account number sent beside it is a separate question, and in the US format that account number carries no check digit of its own.
The gap between those two facts is where a payment goes missing. Transpose two digits inside the account number and the routing number still validates, the payment leaves, and it either bounces days later or settles into a stranger account that happens to exist. The bounce is the good outcome. The other one is recovered by asking the receiving bank to approach its own customer for permission to return money that has already been spent, a request with no deadline attached to it. Validate the format here, then confirm the account against something that saw it, such as a bank letter or a statement header.
What a passing checksum proves
Three check-digit schemes run in your browser. A pass means the digits are internally consistent, which is a smaller claim than the account existing.
What it assumes
- Input is stripped of spaces and punctuation and uppercased before any check runs.
- An IBAN is checked by moving the first four characters to the end, converting letters to digits and requiring a remainder of 1 on division by 97.
- A nine digit US routing number is checked with the weighted 3, 7, 1 sum.
- An eighteen digit Mexican CLABE is checked with its weighted 3, 7, 1 modulo 10 digit.
- A six digit code with an account number, and an Indian IFSC, are recognised on shape alone and reported as valid with no check digit behind them. That six digit shape fits a UK sort code and an Australian BSB alike.
What it leaves out
- Whether the account exists, is open, or belongs to the person you are paying.
- Bank directory lookups. Nothing here contacts a registry or a payment network.
- A check digit for anything outside the three schemes above. A value the page cannot place falls through to a shape hint.
- Sanctions screening and beneficiary verification, which are separate steps with separate evidence.
Where the numbers come from
- The three check-digit algorithms
- Basis not establishedImplemented from the standard schemes for each identifier, with no citation recorded in the code and no specification opened for this review. The implementations were exercised on 5 September 2026 against known-valid and deliberately corrupted identifiers and behaved correctly, which tests the arithmetic rather than the provenance.
- The IBAN format hints
- Our own assumptionLength and shape templates for six countries, written for this page to show what a well-formed value looks like. They are guidance rather than validation.
Assumptions and sources checked 5 September 2026. Published figures move on their own schedule, so confirm anything you rely on against the authority that issues it.
How it works
- 01
Pick format
IBAN, ACH routing, BSB, IFSC, CLABE, or UK sort code.
- 02
Paste the value
With or without spaces and separators.
- 03
See the check result
Format + checksum validity per rule set.
- 04
Copy for your payee record
Normalized string ready for storage.
Related guides
Bank Code vs. Routing Number vs. Sort Code: A Global Platform Payout Reference Guide
The question that comes before validation: which identifier this corridor needs, since validating the wrong field cleanly is still wrong.
Read the guideIBAN vs SWIFT for International Contractor Payouts on Platforms
Resolves the common cause of a failed check, supplying an IBAN where a SWIFT route is required or the reverse.
Read the guideBank-Rejected Contractor Payout Recovery for Platform Teams
What to do when format-valid details are rejected by the receiving bank anyway.
Read the guideFrequently Asked Questions
Does validation confirm the account exists?+
Which formats are supported?+
Is my input stored?+
Can I use this for compliance checks?+
What if my format is not recognized?+
Format-valid is the floor. Keep going
Gruv pairs this client-side check with full beneficiary verification and pre-submit repair so return-code failures stop breaking your payout batches.
Many teams start with a narrow launch in weeks.
