Paste an IBAN and this tool runs the same arithmetic a bank’s payment form runs: country code, expected length for that country, and the ISO 7064 check digits. A single mistyped or swapped digit fails the check. Serbian IBANs are also broken down into bank code, account number and control digits — and the second tab builds an IBAN from an 18-digit domestic account number.
Spaces, dashes and lowercase letters are fine.
Paste an IBAN to check it.
A valid IBAN only means the number is arithmetically correct. It does not prove that the account exists or who it belongs to — only the receiving bank can confirm that.
How it works
An IBAN is a country code, two check digits, and then the country’s own account format (the BBAN). Validation moves the first four characters to the end, replaces letters with numbers (A=10 … Z=35), reads the result as one long number and divides it by 97: a valid IBAN leaves a remainder of exactly 1. That is the ISO 7064 MOD 97-10 standard, and it is why a wrong digit or two digits swapped almost always fails.
Length is checked against the SWIFT IBAN registry, which fixes a total length per country — 22 for Serbia and Germany, 16 for Belgium, 31 for Malta. A number that is one character short fails on length before the check digits are even relevant, and the tool tells you which length was expected so you can see whether a digit went missing when it was copied.
The build tab works the other way for Serbia. A Serbian domestic account (3-digit bank code, up to 13-digit account number, 2 control digits) fully determines the IBAN: those 18 digits are the BBAN, and only the two digits after “RS” are computed, as 98 minus the MOD 97-10 remainder. The bank’s own control digits at the end of the domestic number are taken as given — they are assigned with the account and are not recalculated here.
Practical examples
Checking a supplier’s IBAN from an invoice
An invoice lists RS35 2600 0560 1001 6113 79. The tool reports it valid, shows Serbia as the country, bank code 260, account 0056010016113 and control digits 79 — enough to compare against the domestic number you already have on file.
A digit lost in copying
Copy DE89 3704 0044 0532 0130 00 without its final zero and you get a length error: 21 characters where Germany requires 22. The bank would reject the transfer, so catching it here saves a returned payment and a fee.
Two digits transposed
Swap two digits anywhere inside a valid IBAN and the check-digit test fails, even though the length is still right. This is the mistake IBAN check digits exist to catch, and it is the one that copying by hand produces most often.
Building an IBAN for a domestic account
Enter the domestic account 260-0056010016113-79 in the build tab and you get RS35 2600 0560 1001 6113 79 — the form a foreign payer needs when they cannot use the local three-part number.
Frequently asked questions
Does a valid IBAN mean the account exists?
No, and this is the important limitation. The check is arithmetic: it proves the number is internally consistent, not that any bank holds such an account or that it belongs to the person you think. Only the receiving bank can confirm existence and ownership.
What kinds of errors does it actually catch?
Mistyped digits, transposed pairs, missing or extra characters, and a country code that does not match the length. The MOD 97-10 scheme catches essentially all single-digit errors and the overwhelming majority of two-digit transpositions — the two mistakes people make when retyping an IBAN from a PDF.
How long is a Serbian IBAN?
22 characters: RS, two check digits, a 3-digit bank code, a 13-digit account number and 2 control digits. Written for print it appears in groups of four — RS35 2600 0560 1001 6113 79 — but the spaces are cosmetic and can be dropped when entering it in a form.
Can I get an IBAN from my domestic account number?
Yes, for Serbia. The 18 digits of the domestic number are the IBAN’s account part, so only the check digits need computing. That is exactly what the build tab does. Your bank prints the same result in its e-banking app, which is a good way to double-check.
Why does my account number have fewer than 13 digits in the middle?
Because banks print the domestic number without leading zeros. The IBAN always uses the full 13-digit account field, so 930987654321 becomes 0930987654321 inside the IBAN. The tool shows both forms so you can match them up.
Are lowercase letters and spaces a problem?
No. The tool uppercases the input and strips spaces, dots and dashes before validating, which is the same normalisation banks apply. IBANs are stored without separators and printed with them.
What is the difference between an IBAN and a SWIFT/BIC code?
The IBAN identifies the account; the BIC identifies the bank. For payments inside the SEPA area the IBAN is usually enough, while transfers involving Serbia typically ask for both. This tool checks only the IBAN — a BIC has no check digits to verify.
Why is a country code reported as unknown?
Because it is not in the IBAN registry. Not every country uses IBAN — the United States and Canada do not, for instance — so a number that begins US or CA is not an IBAN at all, however plausible it looks.
Does the check work for Kosovo, Montenegro and Bosnia?
Yes: XK (20 characters), ME (22) and BA (20) are in the registry, along with the rest of the region. The same arithmetic applies; only the expected length differs.
Can I validate several IBANs at once?
Not in one go — the tool takes one number at a time so the breakdown stays readable. Paste them one after another; each check is instant, and nothing is stored between them.
Is my account number sent anywhere?
No. The validation is pure arithmetic in your browser: no server call, no bank lookup, nothing in analytics. That is deliberate — an account number is exactly the kind of data that should not travel to check a checksum.
The IBAN validates but my transfer was returned. Why?
Common reasons: the account was closed, the name does not match the account, the currency is not accepted, or the payment needed a BIC or a payment code that was missing. Check digits only prove the number was typed correctly.
Related tools
EUR to RSD Converter
Convert euros to Serbian dinars (and back) at the official NBS middle rate, with the rate date shown.
Finance & salary
VAT Calculator
Add VAT to a net price or extract it from a gross amount — Serbian 20% and 10% rates preset, any custom rate supported.
Finance & salary
Hash Generator
Generate SHA-1, SHA-256, SHA-384 and SHA-512 hashes of text in your browser using the Web Crypto API.
Developer tools
Prime Number Checker
Check whether a number is prime, with its prime factorisation and the nearest primes. Runs in your browser.
Math & education
Percentage Calculator
Calculate X% of a number, what percent one number is of another, and percentage change.
Everyday calculators
Factorial Calculator
Compute n! exactly for any non-negative whole number, with full digits and a scientific estimate. Runs in your browser.
Math & education