Product Updates

Changelog

Significant updates to ibanchecker.cash: new tools, data coverage, API features, and accuracy improvements. Minor fixes and routine maintenance are not listed. Individual bank records we published incorrectly are kept separately, in data corrections.

  1. Fixed

    The extractor no longer misses the second of two IBANs written with spaces

    When two IBANs written in groups of four were separated by a single short word, as in “DE89 3704 0044 0532 0130 00 or GB29 NWBK 6016 1331 9268 19”, the Smart IBAN Extractor and the extraction API returned only the first. Both now return every IBAN in such text.

  2. Changed

    The API follows the plan table, and a free account can try the paid endpoints

    Each API endpoint now matches the plans: the free key covers single IBAN validation, bulk validation and BIC lookup come with Basic, and text extraction with Growth. A request outside the plan is answered with PLAN_REQUIRED (HTTP 403) and names the plan that includes it. BIC lookups now need a key; country formats still work without one. Bulk validation and extraction count one request per IBAN, as the pricing page states. A free key whose address has a verified account on this site can try bulk validation (10 IBANs a call), BIC lookup and extraction (5,000 characters a call) inside its 100 monthly requests.

  3. New

    A Basic plan: 10,000 API requests a month for $9

    The Basic plansits between the free key and Starter: 10,000 requests a month for $9, with bulk validation and BIC lookup, billed monthly and cancellable anytime. An existing key moves to the new plan without changing. The Upgrade buttons in the dashboard now open the same checkout, with your account’s address already filled in.

  4. Changed

    API validation requests need a key, and the free key covers 100 requests a month

    The validation, bulk validation and extraction endpoints of the API now require an API key, and a free key covers 100 requests a month, down from 1,000. The checker and every tool on this site stay free and unlimited in your browser; the change applies only to code that calls the API. Format and SWIFT lookups still work without a key, up to 100 requests an hour per IP. A request over the monthly limit is answered with QUOTA_EXCEEDED and a Retry-After header that counts down to the first of the next month, UTC. Each address gets one free key, and keys are no longer issued to throwaway inboxes. For higher volumes, paid plans start at 50,000 requests a month.

  5. New

    Pakistan IBAN generator, and the banks behind 43 Pakistani bank codes

    The Pakistan IBAN generatorbuilds a Pakistani IBAN from an account number with the bank’s own rule, for 16 banks including HBL, Meezan Bank, MCB, Allied Bank, Bank Alfalah and Faysal Bank. Each rule was read on the bank’s own IBAN page or in the code of its own generator; where a bank converts on its server, the generator uses the State Bank of Pakistan’s rule, and only for the account-number length the bank asks for, after checking it against account numbers and IBANs the banks have published. The checker now names the bank behind 43 Pakistani bank codes, up from 6, across commercial, Islamic and microfinance banks and wallet providers, and 19 more Pakistani banks have a page with their BIC. Where one of the 16 banks has a page here, the page carries the generator for its own accounts.

  6. New

    IBAN lookup in Turkish

    IBAN sorgulama is a Turkish page for the question people in Turkey search for most: which bank an IBAN belongs to, and whether it is valid. It runs the same checks as the English checker, in your browser, and explains the result in Turkish, together with the codes of the active Turkish banks and where to find your own IBAN. It also says plainly what no public service can do, which is tell you whose account an IBAN is. It is the site’s first page in another language.

  7. Improved

    An IBAN handed from one tool to another stays in your browser

    When a converter or generator passes its result to the IBAN checker, the IBAN now travels in the part of the link after the # sign, which browsers never send to a server, so it no longer appears in any request on the way. The privacy policy and cookie policy were rewritten against the code: they now list each item we keep, how long we keep it and why, with the names of the sign-in cookies and of everything the site stores in your browser.

  8. New

    An EPC QR code generator that checks its own code against the standard

    The new EPC QR code generator builds a SEPA payment QR with every element of the European Payments Council’s guideline EPC069-12: version 002 or 001, a purpose code, a structured RF creditor reference with its ISO 11649 check digits added for you, and a note to the payer. The finished code is then read back with the same parser as the payment QR decoder and checked rule by rule, so the conformance report describes what is in the code rather than what is in the form. It writes what the standard asks and nothing more: error correction level M, no separator after the last element, and the amount as short as it can be (EUR120, not EUR120.00). An amount typed in German or English notation is read correctly, and one that could mean either is refused rather than guessed. For Austria, Belgium and Finland it shows the published print rules as the width range your own code needs, quiet zone included. SVG, PNG and PDF, made in your browser. The downloads stay locked while the sample account, name or reference is still in the code.

  9. New

    A GiroCode generator for German invoices

    GiroCode is the German name for the EPC payment QR, and the new GiroCode generator is set up for German accounts. It checks the account number with the Bundesbank’s check digit method for the bank behind the IBAN, which catches an account number that was already wrong when the IBAN was built from it, something the IBAN’s own check digits cannot see. With only the old account details at hand, it builds the IBAN from a Bankleitzahl and a Kontonummer and confirms the bank in the Bundesbank file. The reference can be composed from an invoice number, a customer number and a date, and the payment block for the invoice, Zahlungsinformationen, comes with German or English labels as SVG or PNG. Made in your browser.

  10. Fixed

    The IBAN QR code generator read “1.500” as 1.50

    A German amount typed with a thousands separator, such as 1.500 for fifteen hundred, went into the payment code as 1.50, and 1.234,56 was dropped as out of range. The IBAN QR code generator now reads amounts the way the two new tools do: German and English notation, an amount that could mean either refused with a message instead of guessed, and the value written as short as the standard’s own examples write it. Its codes also follow EPC069-12 in two further details: no separator after the last element, and error correction level M, the level the page states. A plain IBAN code had come out at level Q. The page’s questions and answers, which search engines could read but visitors could not, are now on the page.

  11. Improved

    424 bank pages stopped shouting their own name

    Nearly a third of the directory printed its bank in capitals, in the page title, the meta description and the result card: BANCA MEDIOLANUM SPA, CAISSE FRANCAISE DE FINANCEMENT LOCAL, BANKA KOMBETARE TREGTARE SHA. It came in that way from the European Payments Council register, and the first question was whether the capitals meant anything. They do not: the register passes through whatever each participant filed, 44% of its rows arrived shouting, and not one of its countries is uniformly one way or the other. Two banks on the same street can differ. So the casing was read back from the only sources entitled to it, the institution itself and the global LEI register, never from a title-case rule. 270 names came from the bank’s own page, 89 from GLEIF, and 65 from a table someone here had already curated by hand. Where a hand-curated name existed to compare against, the value derived from the bank’s own page matched it exactly in 77% of cases, which is the closest thing to a control this kind of work has. The accents came back with the capitals, because a register that strips one usually strips the other: Caisse Française de Financement Local, Säästöpankkien Keskuspankki Suomi Oyj, Banka Kombëtare Tregtare Sh.A. Nineteen banks that really do write themselves in capitals kept them, and so did every lowercase brand: eCREDO, icepay, vdk bank, s Wohnbaubank. A correction here was allowed to change letter case and accents and nothing else, which is checked rather than promised: strip both from the old name and the new one and they have to be identical, or the row is refused. No address changed, so nothing redirects and no link anywhere goes stale.

  12. Improved

    Iceland, Kazakhstan and Mongolia show every bank’s own website

    Nine countries had never been asked where their banks publish. Eleven of their nineteen banks now carry an official-website link, and Iceland, Kazakhstan and Mongolia are complete. Three of the eleven were settled by a number rather than a name. Capitron Bank’s footer prints the company registration 2677377, PayMan Group’s terms print the Bulgarian unique identification code 206457036, and Kvika prints its kennitala beside its SWIFT code. Each is the number the global LEI register holds for that exact BIC, which is stronger evidence than a matching name: two companies can share a name, and in Malta two of them do. The eight still without a link were read and refused rather than guessed at. Diamond Trust Bank’s group site publishes a page for Kenya and Uganda and none for Burundi. Shift4’s never writes the word Malta. SysPay belongs to a different Maltese company with a similar name. IutePay Bulgaria owns two domains and serves neither. A group’s front door is not a subsidiary’s website, and an empty field is better than a link that sends a visitor to another company.

  13. Improved

    Türkiye and the Gulf show every bank’s own website

    Official-website links reached 2,151 of the 2,300 active banks. T\u00fcrkiye is now complete at 51 of 51, the United Arab Emirates at 23 of 23, and Qatar, Kuwait and Saudi Arabia at all of theirs. Nine Turkish banks had been linked to their parent group rather than to themselves. Bank Mellat’s Istanbul branch pointed at the Iranian parent’s site, Bank of China Türkiye at its Chinese one, and Deutsche Bank, HSBC, Citibank, Burgan, MUFG, Société Générale and JPMorgan each at a global address. All nine publish a Türkiye site of their own, and both Turkish registers say so: the BDDK, which licenses banks, and the Banks Association of Türkiye. Neither register was taken on trust for that column. Both still give the superseded address for Hepsi Bank, and the BDDK’s is behind for six more, including Ziraat and ING, where the link already published is the one the bank actually uses. Those were left alone. The Gulf has no register this reachable, so the banks’ own pages did the work, and where a page would not answer, the certificate did. Ajman Bank’s server presents one issued to AJMAN BANK, and Invest Bank’s to Invest Bank P.S.C. in Sharjah, which is the legal name and city the LEI register holds for it. A certificate of that kind is issued only after a certificate authority has checked the company behind the domain, so it ties a site to a bank in a way a page title cannot.

  14. Improved

    Andorra, Moldova and the Vatican show every bank's own website

    Official-website links reached 2,136 of the 2,300 active banks, up from 2,117. Andorra went from none of its 3 banks to all 3, Moldova from 6 of 12 to all 12, the Vatican from none to its one, San Marino from none of its 7 to 5, Iceland from 7 of 11 to 9, Saudi Arabia from 9 of 11 to 10 and Malta from 35 of 38 to 36. This pass asked the authorities before reaching for any site, and the two it asked differ sharply in what they can answer. Wikidata publishes an official website against a company’s LEI, which is a safer key than a name because it cannot drift onto a namesake; asked about 53 banks, it answered 5. A national register is far stronger where one exists. The National Bank of Moldova lists every authorised bank with a website against its SWIFT code, the same identifier this directory files on, and one page settled all six Moldovan banks that were missing one. Two of the nineteen needed more than a register. Papaya’s site is a single-page app whose served HTML says nothing but its brand, which is not enough to publish on; its data protection policy names Papaya Ltd. at 31 Sliema Road, Gzira, registration number C 55146, and that is the number and address the LEI register holds for this bank. The Andorran bank registered as Andorra Banc Agrícol Reig trades as Andbank, and andbank.com is the group’s site rather than that bank’s, so the link points at the Andorran section, which is the page that names it.

  15. Improved

    Eight more countries show the bank's own website, and Montenegro is complete

    Official-website links reached 2,058 of the 2,312 active banks, up from 2,007. Montenegro went from none of its 11 banks to all 11, Romania from 8 of 19 to 18, Poland from 14 of its 27 banks to 26, leaving one, Great Britain from 105 of 117 to 109, Lithuania from 73 of 88 to 78, France from 158 of 173 to 159, Latvia from 9 of 20 to 16 and Germany from 278 of 289 to 279. Two of the Polish links matter more than the count, because the obvious guess would have been wrong in both. The bank we list as Erste Bank Polska says on its own site that it was Santander Bank Polska and that santander.pl will stop working, so the familiar domain is the one being retired. Deutsche Bank’s Polish company has no domain of its own and sits on a section of the group’s country host, whose front page names every country it operates in; only the section names the Polish entity, and only its English page prints that company’s registration number. What settled six of the Polish rows is the KRS number the register holds, which Polish sites print beside the registered name and city. That was measured before it was relied on: of fourteen Polish sites already trusted, only two print it on the homepage, but ten of thirteen print it on a contact or about page, and no page carried a number belonging to another bank here. It is matched zero-padded only, because a Polish tax number is also ten digits and never begins with a zero, which is exactly where a false match would hide. Two more were settled by the page printing the bank’s own BIC. The British half is mostly a story about what is not stored: six were read and refused. Three London branches were offered their parent’s site, which names the Japanese, Brazilian or American company and never the London one, and in one of those the Dutch bank we also list would have matched the same page just as well. Two more firms have no site of their own that any search reaches, and one bank’s old domain now redirects into a group whose compliance page does not name it. One Polish row is still empty for a reason worth stating: its site asks for a browser check that cannot finish in the tool used here, which says nothing about the domain, so it was left blank rather than guessed. France and Lithuania went the same way and for the same reasons. The five Lithuanian firms that are now stored each name themselves, most of them beside the entity code their register holds, while two that the check had accepted were refused on reading: one site names its American parent and never the Lithuanian company, and the other names it only inside a group privacy policy from 2019. In France the sharpest case is a reminder of why branches are checked one at a time. A bank’s European site states in its own terms that it was written by its London branch, and that site had already been stored for the London entry earlier the same day, so accepting it for the Paris branch would have handed one branch another’s page. Latvia was the clearest run of the day, six of its seven settled by the registration number the Enterprise Register holds, one of them printed beside the bank’s own BIC. Germany was the hardest, and one refusal is worth naming. A check accepted, for a German bank, a page that was simply the bank’s old domain put up for sale: the parking template repeats the name often enough to look like the company naming itself. It was caught by reading, and the check now recognises the German wording for a domain on sale, with a test that fails if it ever stops. Montenegro and Romania came last and neither was hard, but one page was instructive. For Adriatic Bank the check preferred a placeholder to the bank: a page that is the brand repeated eight times beside “Launching Soon” was accepted, while the bank’s real site was turned down in the same run. That is not bad luck. Where a bank’s own front page is less specific than the name we store, the check will accept a page whose declared name sits inside ours, and that rewards a short name, which is exactly what a splash page has and what a working homepage does not. It is now refused, on both of the routes a page can be accepted by rather than one. Two other readings changed an answer: TechVentures Bank is at a domain of its own while its former address still shows the brand it traded under before, and Salt Bank sits on an address no guess would have reached. Eight of the Romanian banks were settled against the exact registration number GLEIF holds, using the tax register, which resolves either of the two numbers a Romanian company may print. Montenegro has no register to check against, because the companies search is now a parked domain, so what carried it is that six of the eleven banks publish their own registration number, one of them beside the name we store. One Romanian bank is still blank: its domain is real and resolves, but it refuses every connection from here, so nothing about it was read and nothing was guessed.

  16. Fixed

    Five SWIFT codes were answered by a bank that does not hold them

    A code like CCRIES2A looks like one bank’s, and in the register it is: it belongs to Cajamar, and eighteen Spanish cooperatives sit beneath it with their own longer codes. We had kept only the first eight characters of one of those longer codes on import, so the page for the group’s code carried the name of a single cooperative. The same had happened to four more: twelve Crédit Mutuel and CIC banks share one prefix, thirty-nine Raiffeisen banks in South Tyrol share another. Each bank now sits under the full code the register publishes for it. Two of the prefixes are published under a bank of their own and now answer as that bank, one of them Crédit Mutuel Arkéa, which the directory did not carry at all. The other three name a network rather than an institution, and they now return nothing: redirecting them to one member out of twelve would restate exactly the thing being corrected. Bank pages were not affected, since their addresses come from the name. What is worth saying is why nothing caught this. Both the code and the bank were real and the page looked ordinary, so no check had a question it could fail; it surfaced only when a name our sources disagreed about was traced back to the register line it had been read from. See what was corrected and what settled it.

  17. Fixed

    Three firms that had stopped taking payments were shown as open for them

    A Lithuanian institution was listed as an active SEPA participant, taking credit transfers and registered for Verification of Payee, while its own site was by then nothing but a wind-down notice: its regulator had barred it from serving new or existing clients, it had already stopped ordinary payment services, and it was returning customer balances. Anyone about to pay into one of its IBANs was being told the bank was operating normally. It now reads as closed, with the dates and the temporary nature of the restriction beside it, because the status on its own would misstate them. The reason it went unnoticed is worth saying plainly: a company that stops trading without merging keeps its name, its BIC and a bank code that still resolves, so nothing that watches for renames or wrong codes can see it. Only reading its own page can, which is now how each country’s remaining gap gets worked through. A second one turned up the same day, in Britain: Guavapay Limited entered compulsory liquidation in January and we were still showing it as an open bank taking SEPA credit transfers. It surfaced sideways, from a search for the firm’s website that returned its regulator’s liquidation notice instead, which is the only way this class ever shows up. The other thirteen British banks with no website on file were then checked against Companies House one by one, and all thirteen are trading. A third arrived from a direction none of us had tried: a routing register that stopped listing a code. Finland was one of two countries the register checks were skipping for want of a file, and fetching it left two codes we hold that the Finnish list no longer carries. Missing from a register is weak evidence on its own, so both banks were asked directly and answered differently. Handelsbanken’s Finnish branch is winding down: it ended personal payment services in March 2025 and company ones that June, and only loans and other existing contracts continue, while we showed it as an open SEPA participant. Swedbank’s Finnish branch is open and was left alone. The codes stay in place either way, so an older Finnish IBAN still resolves to a name. See what was corrected and what settled it.

  18. Fixed

    Seventeen banks named the wrong company, or one under a name it had changed

    BBVA’s Portuguese pages named a company that no longer exists: the separate Portuguese bank was absorbed into its Spanish parent and the row still carried its name, while the bank’s own footer and the register both call it a branch. Société Générale’s Cypriot bank was under the name it used to trade as. Paynetics in Bulgaria was given a legal form it does not have, Ltd where its regulator and its own site both say AD. And EuroBic carried its successor inside its own name, which meant the phrase was also going into the page title and the search result of every page that named it. And an Italian bank was still called IGEA Digital Bank, which is not what it has been called for some time: it is Banca Italiana per l’Ambiente e per l’Energia, a fact its own site states while printing the very BIC we file it under. The sixth is the one that mattered most: Banca Popolare di Sondrio was absorbed into BPER Banca in April and we were still showing it as an open private bank, with a link to a site that now only forwards to the acquirer. Each one is listed with what was shown, what is right, and the authority that settled it. The reason five of the six went unnoticed is on the record too: a row imported from the SEPA register and a table built from a national one are never compared to each other, because neither carries the identifier the other is keyed on, and both the sweep that watches names and the one that watches whether a bank still exists ask by BIC, which is the one thing those two Italian register entries do not carry. Asking by name instead is what found them, and every other bank we publish as open has now been checked the same way. That sweep was then run across the whole directory, all 278 rows sitting in the same hole, and it turned up three more: AltPay Ltd has been Finsei Ltd since March 2025, FundBank’s Luxembourg bank is now IRACE Digital Bank, and PenSam Bank was bought by Arbejdernes Landsbank in 2025 and is today part of AL Sydbank. Four flags in that sweep were read and dismissed, which is the other half of the work: GLEIF sometimes retires one record and issues another to the same company under the same name, and a bank that has genuinely gone is the one whose successor carries a different name. A second route through the same question found seven more. Where our name matches neither the register’s legal name nor any name it records as former, the difference had never been read; sixty-one of those were, one at a time, and most were what that list is mostly made of: our own translations, brand names, and branches whose parent the register answers with. Seven were not. The one worth naming is ING in Germany, where a rename had been recorded backwards: the page named a company GLEIF holds as retired, and told the reader that ING-DiBa AG, the name the bank files and trades under, was the old one. The rest were a French lessor and a Norwegian savings bank under names they had changed, two British companies under names the statutory register does not hold, and two Dutch rows naming a sister company in the same group rather than the one that holds the code. Three of the sixty-one went the other way, where our name was current and the register behind it, and three were left on the record as conflicts rather than resolved, because choosing between two live authorities would have meant guessing. A seventeenth turned up later the same day, and it shows how narrow the gap can be: a Greek cooperative converted to a limited company and renamed itself Bank of Epirus, and we were still publishing the cooperative’s name. Every sweep that would have caught it asks the register what a BIC is called now, and the register files this bank’s code with the digit 1 where the bank and the SEPA register both print the letter I. Two characters that are hard to tell apart on a screen are not hard at all for a lookup: it asked about a code nobody holds, was told nothing, and nothing reads the same as no question to answer. The code we publish is the right one, and the bank prints it on its own IBAN page. See what was corrected and what settled it.

  19. Improved

    Twelve more countries show the bank's own website, and Serbia has none missing

    Official-website links reached 2,007 of the 2,312 active banks, up from 1,709. Portugal has none missing, Bulgaria went from 7 to 29, Cyprus from 2 to 19, which was the least covered country left, and Italy, the largest gap remaining, from 131 to 143. Every one was confirmed from the bank’s own live page and read before publishing, and the reading is what matters more than the count. A Cypriot group’s site never prints the name of its licensed entity at all and mentions the country only in a telephone list; a Lithuanian one does the same; and the site branded Iute in Lithuania belongs to a different company from the institution that holds the licence. None of those three is stored. What settled the ones that are is usually a number rather than a name: a Portuguese bank prints the Banco de Portugal registration that is also the four digits inside its own IBANs, a Bulgarian one prints the licence decision that its regulator publishes against its company number, and an Italian one prints the codice fiscale that the business register holds against the company. That last one comes with a caveat we measured before relying on it: an Italian group files a single VAT number for all its members, so the number on the page is only ever checked against the one held for that company, never read the other way round. Greece and Switzerland followed, and there the measuring said no: Swiss banks are not obliged to print their company number where a reader looks, and only five of the 39 Swiss sites we already trust do, so no such check was built for either country and every link was settled by the page naming the bank. Thirty of the thirty-two rows left in the two countries now carry one, and the two that do not are on the record with the reason. The best of them still came from a number: LGT’s Swiss imprint names the bank as the publisher of the site and prints the very BIC we file it under, and Baloise, whose own domain now forwards to the insurer it merged with, was settled by that group’s imprint listing the bank at the registered address and company number the register holds for it. Croatia and the Czech Republic, the two largest gaps left after that, went from fifteen missing each to none and four, and they are where the number beats the name most clearly. Three Czech branches were settled from a legal notice rather than a front door, which is where a branch is obliged to identify itself: Oberbank’s prints the tax number formed from its own registration number, Commerzbank’s names the Prague branch at the address the register holds for it, and PKO’s Czech page prints the BIC and the bank code we file it under, on a Polish domain our own country rule would otherwise have refused. The measuring said no in both countries too, for the third and fourth time: a Croatian bank prints its register number on one homepage in ten and a Czech one on four in eleven, so neither became a rule. One of the nineteen the checks approved was wrong on reading, and it is the reason reading them is not optional. Deutsche Bank’s Prague branch had been matched to the group’s own host, which calls itself Deutsche Bank and so satisfies every test, while naming the company in Frankfurt rather than the branch registered in Prague. Its country section names the branch in full, and that is what the row carries. Monaco, almost entirely private banks owned by Swiss and French groups, is the shape this is weakest against: of ten the checks approved, five named a group rather than a bank. Three had settled on a front door for calling itself by the group’s name, and two matched by accident, one of them for containing the words wealth, management and Monaco, which any wealth manager with a Monaco office does. Seven of the thirteen now carry a link and six do not, because each of those six groups names the country somewhere, in an office listing or a list of its private banks, and never the company that holds the licence. Serbia then finished with none missing, and Slovakia with one. Slovakia is almost entirely branches of foreign banks, and seven of them identify themselves in a legal notice rather than on a front page, where what they print is a number: one gives its registration number beside its bank code and the very BIC we file it under. That is the only thing that could have settled J&T, whose name cannot be matched at all, because split on the ampersand it leaves no word longer than a single letter. ING is the case worth keeping: its Slovak page names the company the Slovak register holds and its Czech page names only the brand, so one row carries a link and the other does not. Two Serbian banks write their name in Cyrillic and were settled from their own English sections, and one needed care rather than effort, since the .com domain sharing its name belongs to a different bank in Montenegro. How the data is checked.

  20. New

    Bank pages name what a bank was called before

    A bank that has been renamed now carries its previous name in its own line, so someone holding an older statement can tell that Commerzbank AG Cologne is the bank their paperwork calls Dresdner Bank. Until now that fact sat inside the bank name itself, which meant it was also going into the page title and the search result, reading as though it were part of what the bank is called. The entries were read one at a time before being moved: a register holding an old name is not the same as a bank having traded under it, and two of them turned out to describe accounts a bank took over rather than a name it ever used. See one on DRESDEFF.

  21. Improved

    France resolves against the ACPR register

    A French IBAN now resolves against all 830 bank codes the ACPR publishes, up from 16. The register was recorded as unavailable for years; REGAFI has since moved onto an open-data platform that publishes the Code Interbancaire against each licensed entity, so the five digits after FRkk now name their bank at every French institution rather than at sixteen. The sixteen we had checked by hand all agree with it. Try it on the checker.

  22. New

    A merged bank now says where it went, and who announced it

    A merger is the one change on these pages that can cost someone money: the reader is usually here with a payment to make and an account number in front of them, and “this bank no longer operates independently” tells them to stop without telling them what to do next. Where we have read the announcement, the notice now names the bank it became part of, links our page for it, and links the pages that announced it: the bank’s own, the successor’s own, and the register’s record. Every one of the 31 banks the directory lists as merged or closed now carries one, with 52 links between them, and the sentence follows what actually happened: a bank that merged into another, a bank whose business was transferred to one, and a bank that wound down are three different endings and no longer read alike. It also says what the status alone would misstate, that accounts are being moved across rather than closed, so an existing number may still work and the details are worth confirming with the beneficiary. A destination we cannot source is left unnamed, because inventing one would be worse than naming none. See what was corrected and what settled it.

  23. Improved

    Eight more countries show the bank's own website, and every link was re-checked

    Official-website links reached 1,709 of the 2,323 active banks, up from 1,337. Lithuania went from 8 to 66, Norway from 15 to 84, the United Kingdom from 42 to 100, Luxembourg from 8 to 52 and France from 122 to 143, and Spain, Belgium and Denmark then added 103 more between them, which leaves Denmark with none missing. Every link was confirmed from the bank’s own live page naming itself, and every one was read before publishing: that reading is what caught a Norwegian directory listing every bank in the country being taken for one bank’s site, an express and logistics company standing in for the bank whose initials it shares, and a group’s head-office page standing in for a subsidiary it never mentions, each left empty instead. Banks that publish no domain of their own, such as the SpareBank 1 members, link to their own section of the shared site rather than to the site itself. Browse the directory.

  24. Fixed

    Eleven banks shown under old names, and two that had already merged

    All 1,545 official-website links were fetched again and compared with what each page calls itself. One was wrong: a German savings bank pointed at a parked domain, its own name with the hyphen dropped, serving nothing but a privacy link. Three Gibraltar banks were listed as being in the United Kingdom. Eleven banks were shown under names they no longer use, among them Sydbank, which is now AL Sydbank, and PKB Privatbank, which has been PKB Private Bank since 2023. Following the Sydbank rename found two Danish banks still marked active after merging, each carrying a SEPA badge and an illustrative IBAN: Vestjysk Bank, now part of AL Sydbank, and Rønde Sparekasse, now part of Middelfart Sparekasse. All are corrected, and the old addresses redirect. See what was wrong and what settled it.

  25. Improved

    Bank pages carry the bank's own website far more often

    The directory’s official-website links went from 617 to 1,337 of the 2,331 active banks it lists. Germany went from 82 to 259, Ireland from 5 to 156, France from 29 to 122, Switzerland from 14 to 135, Italy from 23 to 131 and Austria from 20 to 89, with the other countries to follow. Every link was confirmed from the bank’s own live page naming itself, never from a search result alone, and every one was read before it was published, because an automatic check cannot tell a bank’s site from its insurer’s, its supermarket’s or its town hall’s. Austria’s savings banks publish no domain of their own, so those links point at each bank’s own section of the shared network site rather than at the site itself. Browse the bank directory.

  26. Improved

    Thirty more banks show their own mark

    551 of the 604 banks in the curated directory now display their logo, up from 521. Each one came from the bank’s own site and was read on both the light and the dark surface before it went in, because no name match can tell a bank’s mark from a sponsor’s or a product’s. How we check our data is described on the methodology page.

  27. New

    Official Go and Rust clients, and every client now listed on the site

    go get github.com/koraykoylu/ibanchecker-go and cargo add ibanchecker complete the set: there is now an official client for Python, JavaScript, PHP, Ruby, Go and Rust, each wrapping the same five endpoints with typed results and typed errors. Until today none of them were linked from the site itself. They are listed on the API documentation and on integrations, with the install command for each.

  28. New

    Official Ruby client

    gem install ibanchecker is now published on RubyGems, alongside the existing Python, PHP and JavaScript clients. It wraps the same five endpoints with typed results and typed errors, keeps the raw response body reachable so a new API field does not require a client release, and treats a malformed IBAN as a result rather than an exception. It has no runtime dependencies. See the API documentation.

  29. Improved

    Belgium, Hungary and Poland complete the register coverage

    The last three national registers are in. A Belgian IBAN now resolves against all 771 codes the NBB publishes, up from 20; a Hungarian one against all 171 the MNB lists, up from 9; and a Polish one against every three-digit bank code the NBP register carries, each resolved to the bank that holds most of its routing numbers. Every country with an authoritative national register is now covered code for code. Try it on the checker.

  30. Improved

    Six more countries resolve against their national registers

    IBANs from smaller banks in Turkey, Finland, Portugal, Norway, Austria and Switzerland used to come back without a name. Each now resolves against its own national register: Norway went from 11 codes to all 2,315 the Bits register publishes, Austria from 16 to 872, and Finland, Portugal and Turkey to every code their registers list. Switzerland holds all 1,720, with the retired Credit Suisse codes marked as withdrawn rather than dropped, so an old IBAN still resolves to a name. Try it on the checker.

  31. New

    Paid plans can be bought by card

    Until today a paid plan meant emailing us and waiting for a reply. Starter, Growth and Enterprise now check out by card from the pricing page, billed monthly and cancellable at any time. Payments are handled by Polar as merchant of record, which also settles EU VAT. One thing is still done by hand: the key itself is issued to the address on the order, usually within one business day. Automatic activation on payment is next.

  32. Improved

    German IBANs now resolve against the whole Bundesbank register

    A German IBAN from a Sparkasse or a village Raiffeisenbank used to come back without a bank name: we held 80 of the 3,507 routing codes the Bundesbank publishes. All 3,430 active codes are covered now, across 435 institutions, generated straight from the register and carrying its own names. Where the register says nothing, we say nothing: it does not classify institutions or record scheme membership, so those fields stay empty rather than guessed. Try it on the checker or in the BLZ converter.

  33. New

    A shared BIC prefix now tells you whose network it is

    Some eight-character codes belong to no bank at all. In the German savings and cooperative sectors the opening characters name the network and the last three name the member, so WELADED1 is shared by 114 Sparkassen and is none of them. Asking for one used to give you nothing. Fourteen of these codes, covering 1,628 banks, now have a page listing every bank under the prefix with its city, its full BIC and the routing code that appears inside an IBAN. Start with WELADED1 or GENODEF1.

  34. Fixed

    Seven pages named one bank after a whole savings-bank network

    WELADED1 is not one bank's SWIFT code. It is the eight-character prefix that 114 different Sparkassen share, and the Bundesbank register never lists it as a code in its own right. Seven directory rows carried a prefix like that as if it were their own, so a page read "Erzgebirgssparkasse SWIFT Code: WELADED1" and every bank under that prefix resolved to it and borrowed its address. Each row now carries the bank's own eleven-character code, checked against the register and against GLEIF, and our data audit fails from now on if a row ever claims a shared prefix again.

  35. Improved

    Slovakia now matches the national register, code for code

    A Slovak IBAN could come back without a bank name for an institution that plainly exists: we held 12 of the 38 payment system codes the National Bank of Slovakia publishes. All 38 are covered now, including Citibank Europe, mBank, Komercni banka, Oberbank, BKS Bank, PKO Bank Polski, EXIMBANKA SR and both building societies. Privatbanka has been renamed Penta Bank, which the directory had not caught, and the old address still leads to the new page.

  36. New

    Diagrams that are generated from the same data they illustrate

    Until now the site explained everything in words. Every page that describes a structure now shows it as well: the anatomy of an IBAN in each of the 92 countries, the route a payment takes to reach it, the MOD-97 check worked through on a real number, the four parts of a SWIFT code, the second check many countries run inside the account number that the IBAN standard does not, and the twelve elements of a SEPA payment QR. They are drawn by generators that read the same tables the validator reads, so a diagram cannot quietly disagree with the data it illustrates, and each one names the authorities behind its figures.

  37. Fixed

    Lists in articles had lost their bullets

    Every list in every article had been rendering without markers, and numbered procedures without numbers, so a list read as a run of unattached lines. The stylesheet indented them but never restored the marker the CSS reset removes. All of them read as lists again.

  38. Fixed

    A partial SWIFT code no longer answers with an unrelated bank

    Typing part of a BIC returned a confident answer for a bank that had nothing to do with it: /swift/ab produced Abanka, /swift/deu produced Deutsche Bank (Suisse). The lookup was designed to let an 8-character head-office code resolve through the branch records beneath it, but it never checked the length of what it was given, so every truncation of every code in the directory was a live page. A lookup now has to be a real SWIFT/BIC code before it is answered, and a code that matches exactly is never answered with a sibling that merely shares its first eight characters. Every BIC also settles on a single address: the 8-character form, which is the one printed on statements and typed into search, with the head-office XXX spelling pointing to it.

  39. New

    IBAN Error Finder: what is wrong, and which character to look at

    The homepage already said whether an IBAN is valid, and the invalid IBAN guide explained the causes in prose. Neither acted on the number in front of you. The IBAN Error Finder names which rule a rejected IBAN breaks, whether that is the country’s length, its letter and digit pattern, the ISO 13616 checksum, or the account number’s own national check digit. When the checksum is what failed it searches every IBAN one keystroke away and lists the ones that would be valid, putting first those whose bank code resolves to a real institution. Tested against 220 real IBANs damaged by a single keystroke, the original was recovered every time, but usually alongside about three other candidates, so the tool says plainly that it narrows the field rather than naming the answer.

  40. Fixed

    The checker keeps the form on screen, and two bank logos are corrected

    Checking a second IBAN used to mean scrolling to the bottom of a long result card to find the button that brought the form back. The form now stays above the result: focusing it selects the finished IBAN so a paste replaces it, and the first-visit copy steps aside once you have run a check, so the field and the result sit together. A finished check also lifts the checker to the top of the window, so the bank details fill the screen instead of starting below the headline. Separately, the logo shown for Alternatif Bank was another bank entirely, Bank Raya of Indonesia, matched in error by the tool that collects logos from Wikipedia. It is now the bank’s own logo, and Al Hilal Bank, which had none, carries its bilingual lockup.

  41. Improved

    The RIB page explains itself, and the country pages stopped jumping

    The reference tables on the French RIB converter were rebuilt: the parts of a RIB are colour coded to the part of the IBAN they become, using the same colours the country format pages use, and the clé RIB formula and its letter table carry short explanations you can open from an info icon. The bank list is permanent instead of expanding under the result, and the official sample is filled in on arrival so the tool shows what it does before you touch it. Separately, every country format page used to validate its example after the page had loaded, which pushed the rest of the page down a moment later. The verdict now ships with the page.

  42. New

    The RIB converter now runs both ways, and reads a pasted RIB

    The French RIB converter builds the IBAN as you type instead of waiting for a button, and a second mode splits an FR or MC IBAN back into its RIB. You can paste the whole RIB line, the labelled block your bank gives you, or an IBAN, and it fills the four fields itself. A recognised code banque is now named on the spot with its BIC, the clé RIB you typed is checked against the one we calculate, and the reference tables stack into readable blocks on a phone instead of scrolling sideways.

  43. Fixed

    A valid French account number could be flagged as mistyped

    The clé RIB runs from 1 to 97, so a bank prints 97 where the calculation leaves no remainder. Our national check compared against a value that had been reduced once more, which turned that 97 into 00 and told roughly one French account in ninety seven that its number looked mistyped. The check now uses the form that accepts both, so a genuine account is never flagged. Monaco, which shares the French key, was affected the same way.

  44. Improved

    Two tools renamed to the words people actually search

    The BIC validator is now the SWIFT Code Checker, and the Northern Cyprus UBAN validator is now the Northern Cyprus UBAN Checker. Nothing about the checks themselves changed. The old names led with the formal terms, BIC and validator, while people looking for these tools type SWIFT code and checker. Both old addresses redirect permanently, so existing links and bookmarks keep working. The SWIFT/BIC directory now also opens with a code entry field that hands a single code straight to the checker, instead of only offering a directory search.

  45. Improved

    Custom social preview for the Northern Cyprus UBAN Checker

    The Northern Cyprus UBAN Checker now has its own designed social preview image, shown when the link is shared on X, LinkedIn, or elsewhere, instead of the generic tools template every other tool page shares. It also linked back to a new launch post, Introducing Northern Cyprus UBAN Support, explaining why UBAN got a dedicated validator instead of being folded into the IBAN checker.

  46. New

    Northern Cyprus bank logos

    All 23 Northern Cyprus banks now show a logo: the six Turkish-bank branches reuse their parent's existing logo, the sixteen local banks got a logo sourced from each bank's own site, and the Central Bank of Northern Cyprus got its own site header wordmark, the only brand asset it publishes. Every logo was checked for a real transparent background and contrast on both light and dark surfaces before shipping; the Central Bank's mark needed a themed recolour rather than a flat white swap, to keep its two-tone red-and-grey design legible on a dark surface. Fixing this also turned up two logo-rendering bugs that predated this phase and affected every bank logo on the site, not just the new ones: a wide wordmark (a banner-style logo, much wider than tall) could render squashed or disappear entirely, and a page could briefly show the wrong light/dark variant on first load. Both are fixed everywhere a bank logo appears.

  47. New

    Northern Cyprus bank directory

    Added the 23 institutions registered under the Northern Cyprus Central Bank's UBAN regulation to a dedicated Northern Cyprus bank directory, each with its own profile page and 3-digit UBAN bank code. This is a separate registry from our main IBAN/BIC bank directory, not merged into it: most of these banks don't have an independent BIC, and Northern Cyprus UBAN isn't an IBAN. Local banks (Koopbank, İktisatbank, Creditwest Bank, Albank, and others) get a UBAN-format profile; the six Northern Cyprus branches of Turkish banks (Ziraat, Halkbank, TEB, DenizBank, Garanti BBVA, Isbank) get a separate profile explaining they typically transfer using a Turkish IBAN instead, per the regulation's own exception for foreign-bank branches. The UBAN checker now looks up the bank behind a valid UBAN's bank code against this directory, informationally, the same way it never lets a bank lookup change a checksum result.

  48. New

    Northern Cyprus UBAN Checker

    Northern Cyprus uses UBAN (Ulusal Banka Hesap Numarası), a local, 28-character account number standard defined by the Northern Cyprus Central Bank, not the ISO 13616 IBAN standard. Numbers beginning with CT are easy to mistake for an IBAN, so we built a dedicated Northern Cyprus UBAN Checker that checks the official structure and the MOD-97-10 checksum entirely in your browser. CT is not added to our IBAN country registry: the main IBAN checker now recognises a UBAN-shaped input and points to this tool instead of showing a generic “unsupported country” error, and the Cyprus (CY) IBAN format page explains the distinction between the two.

  49. New

    Generate and validate RF creditor references (ISO 11649)

    The RF creditor reference generator and validator turns an invoice or customer number into a check-digited reference, or checks one you already have. The check digit is the same ISO 7064 MOD-97-10 arithmetic an IBAN uses, just rearranged: append RF00 instead of moving the country code to the end. Generate and Validate are two explicit modes, not one field that guesses, because a raw reference and a full RF reference can share the same shape, unlike an IBAN and a BIC. Verified against python-stdnum’s iso11649 module and Finance Finland’s official implementation guide before shipping. It links out to the payment QR generator rather than building a second one, since an RF reference is one field in a much larger payload.

  50. Improved

    New logo and favicon

    Both are built as true vector art: the wordmark from the actual Figtree glyphs, matched by comparing per-letter shapes across font candidates, and the icon from measured geometry, with edges snapped to true 45-degree angles and circular arcs rather than autotraced from a bitmap, so they stay crisp at any size. The colour sits on the site’s own blue, #0057FF, with every gradient stop’s lightness preserved so the ribbon-fold shading holds up in both light and dark mode.

  51. New

    Paste a code, find out what it is

    Identify a Bank Code takes a single pasted string and works out its type from shape alone: an IBAN always opens with two letters and two digits, a BIC/SWIFT code is always exactly 8 or 11 characters, and those two shapes never overlap, so the classification never depends on guessing a country first. Nothing new was written to validate what it finds. An IBAN is handed to the existing checker, a BIC is handed to the existing bank directory lookup. A code that matches neither gets an explanation of why, plus a link to the matching domestic converter when its digit count lines up with one, offered as a possibility to check rather than a confirmed identification.

  52. Improved

    The status page now announces, not just measures

    Status reported measured uptime but had no way to tell you anything: no incident history, no maintenance notice, no state you could subscribe to. It now carries a declared status line, a planned maintenance section and an incident history, published as machine-readable documents at /status/status.json and as an Atom feed at /status/feed.xml for status aggregators and readers. The two layers are deliberately separate: measurement comes from an independent monitor and nothing on the announcement side can add to it or hide it, so a declared component stays green only because we say so, never because a number was quietly adjusted. The incident history starts empty, and the page says plainly that this describes our announcements rather than a perfect record, since the daily bars show every failed check either way.

  53. New

    Read a payment QR code back and check the account it names

    Decode a payment QR takes an image of a QR code and reads the payload back byte by byte, listing all twelve EPC069-12 data elements with their byte counts, then running the IBAN it carries through our validator. It reports what the code claims and what is actually wrong with it: a missing beneficiary name, an amount outside the scheme’s range, a reference field used twice, a payload over the 331-byte budget. A decoded string is never turned into a link, because that is exactly how QR payment fraud works. Swiss QR-bills are identified but not read, since their element order belongs to a different standard.

  54. Improved

    Payment QR generator rebuilt: SVG, PDF, live preview, and a payload inspector

    The payment QR generator now previews as you type instead of behind a button, and exports vector SVG and PDF alongside high-resolution and transparent PNG. A payload inspector prints every EPC069-12 element with its value, its source, and its byte count, read out of the emitted payload so it cannot drift from what the code actually contains. Colours are checked against the ISO/IEC 15415 symbol contrast scale rather than guessed, and the printed module size is computed per code. One correction worth stating plainly: the beneficiary name field previously carried the bank’s name, which made some banking apps prefill the wrong payee. It now carries the beneficiary, and the code falls back to a plain IBAN when no name is given.

  55. New

    Official API clients for Python and PHP

    pip install ibanchecker and composer require ibanchecker/client are now published on PyPI and Packagist. Both wrap the five public endpoints with typed results and typed errors, keep the raw response body reachable so a new API field does not require a client release, and treat a malformed IBAN as a result rather than an exception. The PHP client has no Composer dependencies. See the API documentation.

  56. Fixed

    Removed UK and Irish bank codes that no real IBAN can contain

    A UK or Irish IBAN carries the first four letters of the bank’s BIC, so a bank code that matches no BIC cannot appear in a real account number. Five such entries had crept into our data and were resolving to bank names that would never have been reached, one of them pairing Virgin Money with the wrong logo. They are gone, a wrong BIC for Citibank Europe was corrected, and the rule is now enforced by our audit suite so the class of error cannot come back.

  57. New

    Verification of Payee (VoP) shown on validator results

    Validated results now show whether the beneficiary bank participates in the SEPA Verification of Payee scheme, added as a fifth badge next to the SEPA Credit Transfer, Instant, and Direct Debit flags. The data comes from the European Payments Council’s official VoP register of participants and covers banks that are live and able to respond to payee-name checks. This reflects scheme participation only; the live name match itself is carried out by your own payment provider.

  58. New

    Who owns this bank: parent group shown on bank and BIC pages

    Bank and SWIFT pages now say when an institution belongs to a foreign banking group, naming both the group and, where they differ, the ultimate legal parent. The relationships come from GLEIF’s parent records rather than from name matching, which is why a bank that merely shares a brand with a group is not claimed to be part of it. Where GLEIF publishes no parent, we say nothing instead of guessing.

  59. New

    German account check digits (Prüfziffer) on every active bank code

    German account numbers carry a check digit whose calculation differs by bank, across roughly ninety published methods. The validator now runs the right method for the bank code in the IBAN, covering every active Bankleitzahl in the Bundesbank directory. It is advisory: an IBAN that passes MOD-97 stays valid, and a failing account check is shown as a likely transcription error rather than a rejection. Each method was implemented from the Bundesbank specification and verified against that specification’s own test account numbers.

  60. New

    UK modulus checking on account numbers

    UK account numbers carry their own validation, defined per sort-code range in the VocaLink/Pay.UK modulus checking tables. The validator now runs it, including all fourteen documented exceptions, and reports a failure as a likely typo without rejecting the IBAN. Verified against the specification’s thirty-four published test cases.

  61. New

    UK IBANs warn when the bank code and the sort code disagree

    A UK IBAN carries both a four-letter bank code and a six-digit sort code, and the two can point at different banks when an account number has been assembled by hand. Results now flag that contradiction. The check is deliberately conservative and only fires when both sides are known, since sort-code ranges have carve-outs that make a firmer claim unsound.

  62. Improved

    National check digits extended to 25 countries

    The domestic account check digit is now verified for 25 countries, up from five: the Nordics and Baltics, Central Europe, the Western Balkans, Iceland, Poland, the Netherlands and others. Each was implemented against its national scheme and confirmed with at least two independent valid IBANs before shipping, because the failure that matters here is warning about an account that is perfectly fine. Countries whose algorithm could not be verified were left out rather than approximated.

  63. Improved

    Bank logos: dark-mode legibility and wider coverage

    Single-colour logos drawn in a dark ink were close to invisible on the dark theme. Those are now served in a light variant on dark surfaces, while genuinely coloured marks keep their brand colour on both. Coverage also grew by roughly ninety banks. Each logo is taken from the bank’s own site or an authoritative source and checked by eye on both themes, which is how a hamburger menu icon and a national coat of arms were kept out of the set.

  64. New

    IBAN support for Burundi and Mongolia: now 92 countries

    Added validation, format breakdown, and example IBANs for Burundi (BI) and Mongolia (MN), bringing coverage to 92 countries. Both structures were verified against the SWIFT IBAN Registry. See the full list on the IBAN formats page.

  65. New

    National check-digit verification for Spain, Italy, Belgium, France & Portugal

    Beyond the international MOD-97 check, the validator now also verifies the domestic check digit embedded in these countries' account numbers. If an IBAN passes MOD-97 but its national check digit doesn't match, it's flagged as a likely transcription error without being rejected, since it may still be a valid legacy account. This catches typos that the international checksum alone can miss.

  66. Improved

    Bank & BIC data cross-checked against official registries

    We cross-checked our IBAN structures and domestic bank-code-to-BIC mappings against authoritative sources: the SWIFT IBAN Registry, GLEIF, and national central-bank routing registries (Germany's Bundesbank, Poland's NBP, Austria's OeNB, Czechia's ČNB, Slovakia's NBS, Hungary's MNB). We corrected structure rules and bank/BIC entries across many countries. More on how we verify data on the methodology page.

  67. New

    MCP server now on npm, with build provenance

    The MCP server is now published on npm as @ibanchecker/mcp, so any AI client can run it locally over stdio with npx alongside the hosted endpoint. Every release is published from CI with npm build provenance (OpenID Connect), cryptographically linking each version to its exact source commit on GitHub.

  68. Improved

    Daily uptime history on the status page

    The status page now shows a 90-day daily uptime history with per-endpoint response times, plus a written explanation of how uptime is measured and how our availability definition aligns with SOC 2 and ISO 27001 criteria.

  69. Improved

    Bank logos on validator results and SWIFT pages

    Validated IBAN results and SWIFT/BIC bank pages now display the institution’s official logo where available, drawn from a curated set of vector logos verified against each bank’s own sources.

  70. New

    Published our data verification methodology

    A new methodology page documents where every format rule, bank code, and BIC comes from, how the 7,000+ check audit suite tests the dataset on every change, and the corrections we have made, including errors we found in widely copied bank code tables.

  71. Improved

    Bank-specific example IBANs and clearer validator results

    Bank pages now show an illustrative IBAN built from that bank’s real domestic code, so the example resolves to the right institution when validated. The validator also recognizes official ISO 13616 sample IBANs and explains why their placeholder bank codes don’t match a real bank, and unmatched lookups now read “Not in our directory” to make clear the gap is in our coverage, not your IBAN.

  72. Improved

    API keys now hashed at rest

    Authentication records now store a SHA-256 hash of each API key instead of the key itself. Existing keys keep working unchanged and migrate automatically on first use. Details on the Security & Trust page.

  73. New

    Live API status monitoring

    The status page now shows real measurements only. Automated checks run against the production API every 5 minutes from Cloudflare’s network, and the published 30-day uptime is computed from every recorded check.

  74. Improved

    Official bank websites and Wikidata references

    Nearly 600 banks in the directory now link to their verified official website, each cross-checked against Wikidata and tested for liveness before publication. Bank profiles also expose these references as structured data.

  75. Improved

    Full bank data audit against official registries

    Every national bank code table (France, Italy, Spain, Portugal, Poland, Iceland, the Nordics, and 30+ more) was re-verified against central bank registries such as Banque de France, Banco de Portugal, and NBP EWIB. A permanent regression suite with about 6,000 checks now runs on every data change.

  76. New

    Developer dashboard

    Signed-in API users get a full dashboard: multiple named API keys with rotation, monthly usage broken down per endpoint with CSV export, plan overview, and GDPR-compliant data export and account deletion.

  77. Improved

    Machine-readable API surface

    Published an OpenAPI 3.1 specification for all five endpoints along with llms.txt, so AI assistants and code generators can integrate the API without guesswork. See API documentation.

  78. New

    Six new IBAN countries: coverage reaches 90

    Added Djibouti, Honduras, Senegal, Chad, Togo, and Yemen with full national BBAN parsing, bringing validation coverage to 92 countries. Each has a dedicated format reference.

  79. Improved

    EPC SEPA registry import: 2,300+ institutions

    Imported the European Payments Council registers of SEPA scheme participants, growing the SWIFT/BIC directory to more than 2,300 verified institutions across 53 countries, including Andorra, Liechtenstein, Monaco, and San Marino.

  80. New

    WordPress plugin and MCP server

    Launched a WooCommerce checkout validation plugin and an open-source MCP server (mcp.ibanchecker.cash) that gives AI assistants direct access to IBAN validation tools. Details on the integrations page.

  81. New

    Developer API with free tier

    Opened the REST API: single and bulk validation, free-text IBAN extraction, format lookup, and BIC/SWIFT lookup. Free keys are issued instantly by email with 1,000 requests per month. See API documentation.

  82. New

    Initial launch

    ibanchecker.cash goes live with the core IBAN checker, Smart Extract, Bulk Checker, the SWIFT/BIC directory, and country format references. All validation runs in memory at the edge; no IBAN is ever stored.