Italy’s IBAN format is one of the more intricate in Europe, which makes it a good stress test for validation code and a bad candidate for hand-rolled fixtures. An Italian test IBAN must be 27 characters: IT, two mod-97 check digits, a single check letter called the CIN, the 5-digit ABI (bank) code, the 5-digit CAB (branch) code, and a 12-character account number that can mix digits and uppercase letters.
The CIN trips people up
The CIN is a national check character computed over the ABI, CAB and account number using a peculiar algorithm that assigns different weights to characters in odd and even positions. It exists independently of the IBAN’s own check digits, and Italian banking systems validate it. This means an IT IBAN can pass a naive mod-97-only check and still be rejected by anything that understands the Italian national layer. The generator on this page computes the CIN correctly, so your fixtures survive both levels of validation.
A concrete developer scenario
Suppose you are writing unit tests for a billing service that stores supplier bank details for the Italian market. You want table-driven tests: valid IBAN accepted, wrong length rejected, digit in the CIN position rejected, bad checksum rejected. The valid cases in that table should be structurally perfect, otherwise your “accepted” assertions test the wrong thing. Generating a handful of distinct IT IBANs here gives you that positive test data in seconds, and the same values slot into Cypress form-fill scripts or sandbox onboarding for Italian SEPA Direct Debit.
Everything runs client-side in your browser: no network calls, no logging, no storage. Each result is marked with a TEST label to keep synthetic data visibly synthetic.
Formal validity is not existence
No generated IBAN corresponds to a real account at Intesa, UniCredit or any other bank. Under the EU’s Verification of Payee regime, banks now match the payee name against the IBAN before executing euro transfers, so misusing test IBANs for real payments fails as well as being dishonest. Keep them where they belong: test suites, staging data, demos and documentation.