SU
StrumentiUtili.it
Micro-strumenti gratuiti 100% client-side
← Torna alla categoria Identità & Burocrazia
🏦 Finanza & Banche

Validatore IBAN & BIC/SWIFT

Controllo matematico locale con BigInt per evitare falsi negativi sui codici lunghi. Verifica in totale privacy la correttezza formale e scopri banca e filiale senza inviare dati a servizi esterni.

Inserisci un IBAN da controllare.
Inserisci un codice BIC / SWIFT.

Affidabilità di questo strumento

📅 Lunghezze IBAN, codici ABI e algoritmi di controllo verificati a

👨‍💻 Chi lo ha realizzato

Sviluppato e mantenuto da ingegneri software indipendenti. Motore di calcolo basato esclusivamente sulle normative ufficiali vigenti. (Zero-Backend: nessun dato viene inviato a server esterni).

🔒 Privacy Zero-Backend

IBAN e BIC vengono controllati nel browser con calcoli locali e non sono inviati a server né salvati sul dispositivo. Il nome della banca è ricavato da un elenco di codici ABI incluso nella pagina (GDPR, artt. 5 e 25).

📚 Fonti normative e tecniche

ISO 13616 (IBAN) e registro SWIFT delle lunghezze per Paese, ISO 7064 (MOD 97-10), ISO 9362 (BIC), Regolamento UE 260/2012 art. 9 (divieto di discriminazione dell'IBAN), elenco dei codici ABI delle banche operanti in Italia, algoritmo del CIN italiano sulle coordinate BBAN.

Manuale Tecnico, Algoritmi e Guida Normativa alla Validazione IBAN e BIC/SWIFT

L'International Bank Account Number (IBAN) rappresenta la pietra angolare delle infrastrutture di clearing interbancario nell'Area Unica dei Pagamenti in Euro (SEPA) e nei circuiti finanziari globali, normato dallo standard internazionale ISO 13616. La sua validazione formale si basa sull'algoritmo matematico ISO 7064 Modulo 97-10, una procedura di verifica algebrica ideata per intercettare gli errori di digitazione, le trasposizioni di cifre e la corruzione dei dati prima dell'istradamento verso la Rete Nazionale Interbancaria (RNI). In combinato con il codice BIC/SWIFT (ISO 9362), costituisce la coppia identificativa obbligatoria per il regolamento dei bonifici cross-border e degli addebiti diretti SDD. Il nostro validatore opera secondo l'architettura 100% Client-Side (Zero-Backend): la decodifica delle stringhe e la divisione per grandi interi avvengono nella memoria volatile del dispositivo locale, eliminando qualsiasi rischio di esfiltrazione di coordinate bancarie riservate in piena rispondenza all'Articolo 25 del GDPR (Privacy by Design).

⚖️ 1. Inquadramento Normativo, Regolamento SEPA 260/2012 e Divieto di Discriminazione IBAN

L'Infrastruttura Armonizzata SEPA e il Regolamento UE n. 260/2012

L'adozione dell'IBAN come identificatore unico di conto corrente ha sostituito le vecchie coordinate nazionali isolando i rischi operativi nei flussi transfrontalieri. Il quadro giuridico comunitario è imperniato sul Regolamento SEPA (UE) n. 260/2012, che fissa i requisiti tecnici ed economici per i bonifici e gli addebiti diretti in Euro. L'articolo 9 del suddetto Regolamento codifica il principio del Divieto di Discriminazione dell'IBAN (IBAN Discrimination): è severamente vietato a qualsiasi creditore, ditta commerciale o Pubblica Amministrazione rifiutare un addebito diretto (SDD) o un accredito a causa del Paese europeo di radicamento del conto, purché tale Paese appartenga all'area SEPA.

Nonostante le severe sanzioni comminate dalle Autorità Nazionali Competenti (in Italia l'Autorità Garante della Concorrenza e del Mercato - AGCM e la Banca d'Italia), molti software legacy o portali aziendali obsoleti rigettano impropriamente input IBAN provenienti dalla Germania (DE, 22 caratteri), dal Belgio (BE, 16 caratteri) o dalla Francia (FR, 27 caratteri) perché rigidi sulla sola lunghezza italiana (27 caratteri). Un validatore professionale moderno deve supportare l'intero spettro delle lunghezze SEPA (da un minimo di 15 caratteri per la Norvegia fino ai 34 caratteri massimi ammessi dalla specifica ISO 13616).

Anatomia del Codice IBAN Italiano (27 Caratteri)

Nell'ordinamento bancario italiano, il Codice Nazionale di Conto è composto da esattamente 27 caratteri alfanumerici, strutturati secondo precise gerarchie della Banca d'Italia e dell'ABI (Associazione Bancaria Italiana):

  • Codice Paese (2 lettere): IT identifica la giurisdizione e la Banca d'Italia come autorità di registro.
  • Cifre di Controllo Internazionali (2 numeri): Check digit (da 02 a 98) calcolate secondo l'algoritmo Modulo 97-10.
  • CIN Nazionale (1 lettera): Control Internal Number alfabetico (da A a Z) calcolato sulle coordinate nazionali (ABI + CAB + Conto) tramite l'Algoritmo Modulo 26.
  • Codice ABI (5 numeri): Identifica l'Istituto di Credito o la Banca (es. 02008 per Unicredit, 03069 per Intesa Sanpaolo).
  • Codice CAB (5 numeri): Identifica la specifica Filiale, Agenzia o Sportello territoriale.
  • Numero di Conto Corrente (12 caratteri): L'identificativo alfanumerico interno del cliente, riempito con zeri a sinistra qualora la stringa sia inferiore a 12 cifre.

Lo Standard ISO 9362 (Codice BIC / SWIFT)

Il codice **BIC** (Business Identifier Code) o **SWIFT** è disciplinato dallo standard **ISO 9362** ed è composto da 8 o 11 caratteri alfanumerici:

  • Codice Banca (4 lettere): Identifica l'istituto finanziario su scala globale.
  • Codice Paese (2 lettere): Codice ISO 3166-1 alpha-2 del Paese di residenza bancaria (es. IT per Italia).
  • Codice Sede/Città (2 caratteri alfanumerici): Identifica la regione o la sede operativa primaria.
  • Codice Filiale (3 caratteri opzionali): Identifica una specifica branca secondaria. Se colmato con XXX o omesso (8 caratteri), punta direttamente alla sede centrale dell'istituto.
🧮 2. Meccanica Algoritmica: ISO 7064 Modulo 97-10 e Modulo 26 per il CIN

L'Algoritmo Internazionale MOD 97-10 (ISO 7064)

La verifica di validità di un IBAN internazionale non consiste in una semplice ricerca su database, ma nell'esecuzione di un rigido test matematico differenziale definito dalla norma ISO 7064. La procedura impone tre fasi sequenziali inalterabili:

  1. Shift Architetturale: I primi 4 caratteri della sequenza (Codice Paese a 2 lettere e Check Digit a 2 cifre) vengono rimossi dalla testa dell'IBAN e concatenati in coda alla stringa.
  2. Traslazione Numerica Base-36: Ogni lettera alfabetica presente nella stringa rimanente viene tradotta in un intero a due cifre sostituendo la lettera con la sua posizione ordinale estesa (dove $A=10, B=11, C=12, \dots, Z=35$).
  3. Controllo Modulare Polinomiale: Il colossale numero intero risultante (che per un IBAN italiano ammonta a 30 cifre numeriche) viene diviso aritmeticamente per il numero primo 97. L'IBAN è strutturalmente e matematicamente valido condicio sine qua non il resto dell'operazione sia esattamente pari a 1:
$$\text{Stringa}_{\text{Numerica\ Traslata}} \pmod{97} = 1$$

L'Algoritmo Modulo 26 per la Determinazione del CIN Italiano

Prima ancora del checksum internazionale, l'IBAN italiano integra al 15° carattere il CIN (Control Internal Number), una lettera che valida le sole coordinate nazionali (ABI + CAB + Conto Corrente, per un totale di 22 caratteri). La lettera si calcola scomponente la stringa posizionalmente in caratteri PARI e DISPARI, applicando le tabelle di conversione ministeriale dell'ABI:

  • I caratteri nelle posizioni Dispari (1°, 3°, 5°, ...) vengono convertiti in valori numerici secondo una mappa asimmetrica ad alto peso (es. A=1, B=0, C=5, D=7, E=9, 0=1, 1=0, 2=5, 3=7...).
  • I caratteri nelle posizioni Pari (2°, 4°, 6°, ...) mantengono una conversione lineare semplice (es. A=0, B=1, C=2, 0=0, 1=1, 2=2...).
  • I valori interi ottenuti vengono sommati, e la somma totale viene divisa per 26: $R = \text{Somma} \pmod{26}$. Il resto $R$ (da 0 a 25) mappa direttamente la lettera CIN dell'alfabeto italiano (0=A, 1=B, 2=C, ..., 25=Z).
📊 3. Casuistica Reale: Validazione Analitica e Decomposizione di un IBAN Italiano

Esempio Reale Svolto Passo-Passo: IT87 H 02008 05000 000001234567

Si applichi l'algoritmo di validazione algebrica al codice IBAN di test di una primaria banca italiana:

Fase 1: Decomposizione delle Coordinate Nazionali:
- Paese: IT | Check Digit: 87 | CIN: H
- Codice ABI: 02008 (Unicredit S.p.A.)
- Codice CAB: 05000 (sportello)
- Numero Conto: 000001234567

Fase 2: Shift Architetturale (Spostamento dei primi 4 caratteri in coda):
Stringa originaria: IT87H0200805000000001234567
Stringa ruotata: H0200805000000001234567IT87

Fase 3: Traduzione Alfanumerica Base-36:
Sostituzione delle lettere: H $\rightarrow$ 17; I $\rightarrow$ 18; T $\rightarrow$ 29.
Stringa intera risultante (30 cifre):
170200805000000001234567182987

Fase 4: Divisione Modulare per il Numero Primo 97:
Trattandosi di un numero gigante che supera il limite di allocazione delle CPU standard (64-bit), la divisione si esegue mediante la struttura BigInt in JavaScript:
$170200805000000001234567182987n \pmod{97n} = \mathbf{1}$

Esito del Test: Il resto della divisione ammonta esattamente a 1. L'IBAN è strutturalmente e matematicamente VALIDO. Con le cifre di controllo 60 e il CIN X, usati in una versione precedente di questo esempio, il resto sarebbe 7 e il codice risulterebbe errato.

4. Criticità Tecniche, Overflow di Memoria, Errore Transposizione e Sanzioni (YMYL)

👥 Casi Pratici ed Esempi Reali

I casi seguenti sono stati verificati con il validatore della pagina.

Caso 1: IBAN per l'accredito dello stipendio con un carattere sbagliato

  • IBAN corretto: IT60 X054 2811 1010 0000 0123 456 → valido, CIN X coerente
  • Ultima cifra digitata 7 invece di 6 → «controllo matematico MOD 97-10 non superato»

Il MOD 97 intercetta sempre un singolo carattere sbagliato: è il controllo da fare prima di comunicare l'IBAN al datore di lavoro, perché un bonifico su coordinate inesistenti torna indietro con giorni di ritardo.

Caso 2: fornitore di energia che rifiuta un conto svedese

  • IBAN: SE45 5000 0000 0583 9825 7466, 24 caratteri
  • Esito: IBAN valido (Svezia)

La Svezia fa parte dell'area SEPA: un creditore italiano non può rifiutare l'addebito diretto su questo conto. In una versione precedente del validatore la lunghezza svedese era impostata a 28 caratteri e gli IBAN corretti risultavano errati, lo stesso problema che la norma vieta ai software aziendali.

Caso 3: verifica del BIC per un bonifico verso la Svizzera

  • BIC indicato dal destinatario: UBSWCHZH80A → sintatticamente valido
  • BIC con la O al posto dello zero: UBSWCHZH8OA → valido nella forma, ma diverso

La verifica del BIC controlla solo la struttura: lettere e cifre sono ammesse nella parte della filiale, quindi uno scambio fra O e 0 non viene segnalato. Il BIC va copiato dal documento della banca, non trascritto.

Perché i validatori online tradizionali generano falsi negativi/positivi con i numeri grandi?

Nei linguaggi di programmazione web, il tipo numerico standard (Number in JavaScript) rispetta la specifica IEEE 754 in virgola mobile a 64 bit, la quale garantisce precisione intera esatta soltanto fino alla soglia limite di Number.MAX_SAFE_INTEGER, pari a $2^{53} - 1 = 9.007.199.254.740.991$ (circa 15-16 cifre decimali). Poiché la stringa numerica convertita di un IBAN conta dai 25 ai 34 caratteri, tentarne la conversione diretta in intero causa il troncatamento catastrofico delle ultime cifre. I software obsoleti tentano il calcolo con funzioni float imprecise, corrompendo l'esito dell'operazione di modulo. La nostra suite risolve il problema adottando il tipo primitivo BigInt (o l'algoritmo di frammentazione a blocchi da 9 cifre), garantendo una precisione matematica arbitraria assoluta ed esente da approssimazioni.

L'Algoritmo MOD 97-10 è in grado di rilevare qualsiasi errore di digitazione?

L'algoritmo ISO 7064 possiede una capacità di rilevamento degli errori eccezionale (pari al 99,99%). Intercetta al 100% l'errata digitazione di un singolo carattere, la quasi totalità delle inversioni di due caratteri adiacenti (trasposizioni semplici) e l'errato inserimento di caratteri alfabetici. Sussiste tuttavia una rarissima vulnerabilità teorica denominata "Transposizione Complessa": qualora l'operatore inverta contemporaneamente due posizioni distanti di $n$ caratteri il cui scarto numerico risulti essere un saggio esatto multiplo di 97, l'algoritmo genererà un falso positivo, reputando matematicamente valido un codice corrotto.

Che cos'è l'errore di Storno RNI per "Coordinate Bancarie Errate / Conto Chiuso"?

È essenziale comprendere l'ambito d'indagine di un validatore algoritmico: esso certifica unicamente la coerenza sintattica e la regolarità matematica delle cifre di controllo. Un IBAN appartiene a una filiale chiusa per fusione bancaria o a un conto corrente estinto dall'utente supererà eccellentemente il test Modulo 97-10. Tuttavia, una volta inviata la disposizione di pagamento, la Rete Nazionale Interbancaria (RNI) respingerà il bonifico generandone lo storno con addebito delle commissioni per "Conto Inesistente o Non Più Operativo".

Quali sono le sanzioni amministrative per chi pratica la Discriminazione IBAN?

I datori di lavoro, gli enti erogatori di utenze (luce, gas, telefonia) e le aziende che rifiutano l'addebito diretto (SDD) o l'accredito dello stipendio su conti correnti SEPA esteri (es. IBAN tedeschi `DE` o spagnoli `ES`) violano direttamente il Regolamento UE 260/2012. L'Autorità Antitrust (AGCM) e la Banca d'Italia erogano sanzioni pecuniarie amministrative fino a centinaia di migliaia di euro nei confronti degli operatori che non adeguano i propri software alla validazione delle lunghezze internazionali.

Domande Frequenti (FAQ)

Il validatore dice a chi è intestato il conto?

No. Nessuno strumento pubblico può farlo senza accedere ai sistemi della banca. Per verificare il beneficiario, dal 9 ottobre 2025 le banche dell'area euro devono offrire il servizio di verifica del beneficiario sui bonifici, che confronta nome e IBAN prima dell'invio.

Un IBAN valido può essere sbagliato?

Sì, se è valido ma appartiene a un altro conto, per esempio un vecchio IBAN dopo una fusione bancaria o un conto chiuso. Il controllo matematico esclude gli errori di battitura, non i dati superati.

Perché il nome della banca non compare?

L'elenco incluso nella pagina contiene le principali banche italiane. Per gli altri codici ABI l'IBAN resta valido e compare la dicitura «Istituto non presente nella mappa offline».

Gli IBAN inseriti vengono salvati?

No. Il controllo avviene nel browser e il campo non viene memorizzato: chiudendo la pagina il dato scompare.