Do czego służy generator IBAN

Generator IBAN tworzy polskie numery rachunków bankowych, które przechodzą te same kontrole co prawdziwe numery. Każdy ma 28 znaków, poprawne cyfry kontrolne MOD 97 i numer rozliczeniowy istniejącego oddziału banku, wzięty z rejestru prowadzonego przez NBP. Testowana aplikacja przyjmie taki numer i rozpozna po nim bank.

Ostatnie 16 cyfr, czyli numer rachunku, jest losowane. Generator nie łączy się z żadnym bankiem i nie wie, czy taki rachunek istnieje, więc wyniki służą do testów i nauki, nie do przelewów. Inne dane testowe znajdziesz w generatorach PESEL, NIP i REGON, a numer rachunku do płacenia podatków policzysz w generatorze mikrorachunku podatkowego.

Jak wygenerować numer IBAN

  1. Wybierz bank albo zostaw Dowolny bank. Wtedy każdy numer dostaje bank wylosowany z listy.
  2. Wybierz zapis. Ciągły (PL61109010140000071219812874) pasuje do baz danych i plików, a zapis ze spacjami co cztery znaki wygląda tak jak w aplikacjach bankowych.
  3. Włącz Bez PL (NRB), jeśli pole w formularzu przyjmuje krajowy numer z 26 cyfr.
  4. Ustaw liczbę numerów, od 1 do 100, i kliknij Generuj numery.
  5. Skopiuj pojedynczy numer ikoną obok niego albo całą listę przyciskiem Kopiuj listę.

Plik CSV ma cztery kolumny: IBAN, NRB, numer rozliczeniowy i nazwę banku. Można go od razu wczytać do arkusza albo bazy z danymi testowymi. Plik TXT zawiera same numery, po jednym w wierszu, w zapisie wybranym w generatorze.

Budowa polskiego numeru IBAN

Polski IBAN ma zawsze 28 znaków: dwie litery kodu kraju i 26 cyfr. Na papierze grupuje się je po cztery, a w systemach informatycznych zapisuje bez spacji. Tak wygląda podział przykładowego numeru PL61 1090 1014 0000 0712 1981 2874:

Części polskiego numeru IBAN na przykładzie PL61 1090 1014 0000 0712 1981 2874
Część Znaki Przykład Co oznacza
Kod kraju 2 litery PL Polska według normy ISO 3166-1
Cyfry kontrolne 2 cyfry 61 wyliczone algorytmem MOD 97 z reszty numeru
Numer rozliczeniowy 8 cyfr 1090 1014 bank i jego oddział, numer nadaje NBP
Numer rachunku 16 cyfr 0000 0712 1981 2874 rachunek klienta w tym banku

Pierwsze trzy cyfry numeru rozliczeniowego oznaczają bank: 102 to PKO Bank Polski, a 114 to mBank. Dlatego aplikacje bankowe pokazują nazwę banku odbiorcy, zanim skończysz wpisywać numer. Bank, który przejął inny bank, może mieć kilka takich prefiksów.

Cyfra kontrolna numeru rozliczeniowego

Ósma, ostatnia cyfra numeru rozliczeniowego też jest kontrolna. Siedem pierwszych cyfr mnoży się kolejno przez wagi 3, 9, 7, 1, 3, 9 i 7, a iloczyny dodaje. Cyfra kontrolna to liczba, która dopełnia ostatnią cyfrę sumy do 10. Gdy suma kończy się zerem, cyfra kontrolna też wynosi 0.

Dla numeru 1090 1014 suma wynosi 1·3 + 0·9 + 9·7 + 0·1 + 1·3 + 0·9 + 1·7 = 76. Ostatnia cyfra sumy to 6, do dziesięciu brakuje 4, a 4 jest właśnie ostatnią cyfrą numeru.

Prostsze walidatory sprawdzają tylko sumę MOD 97 i przepuszczą numer z wymyślonym numerem rozliczeniowym. Dokładniejsze sprawdzają też tę cyfrę albo porównują numer z listą banków. Generator bierze numery rozliczeniowe z rejestru NBP (stan na październik 2026), więc wyniki przechodzą oba rodzaje kontroli.

Jak liczy się cyfry kontrolne MOD 97

Cyfry kontrolne IBAN liczy się metodą MOD 97-10 z normy ISO 7064. Generator robi to w czterech krokach:

  1. Składa numer z kodem kraju i tymczasowymi cyframi kontrolnymi 00, a potem przenosi te cztery znaki na koniec.
  2. Zamienia litery na liczby: A to 10, B to 11 i tak dalej, aż do Z, czyli 35. P daje 25, L daje 21.
  3. Liczy resztę z dzielenia otrzymanej liczby przez 97.
  4. Odejmuje tę resztę od 98. Wynik, uzupełniony z przodu zerem do dwóch cyfr, to cyfry kontrolne.

Przykład obliczenia

1. Numer z cyframi 00: PL00 1090 1014 0000 0712 1981 2874
2. Przeniesienie:      1090 1014 0000 0712 1981 2874 PL00
3. Zamiana liter:      1090 1014 0000 0712 1981 2874 2521 00
4. Reszta z dzielenia: 109010140000071219812874252100 mod 97 = 37
5. Cyfry kontrolne:    98 − 37 = 61
   Wynik:              PL61 1090 1014 0000 0712 1981 2874

Sprawdzanie gotowego numeru wygląda podobnie. Przenosisz cztery pierwsze znaki na koniec, zamieniasz litery na liczby i dzielisz całość przez 97. Poprawny IBAN daje resztę 1. Ta metoda wykrywa każdą pomyłkę w pojedynczej cyfrze i prawie każdą zamianę dwóch cyfr miejscami, a to najczęstsze błędy przy przepisywaniu numeru.

Walidacja w kodzie

Liczba z 30 cyfr nie mieści się w zwykłej zmiennej liczbowej, a w JavaScripcie dokładne są tylko liczby do około 16 cyfr. Resztę z dzielenia liczy się więc cyfra po cyfrze, tak jak robi to ten generator:

JavaScript

function isValidIban(iban) {
  const s = iban.replace(/\s+/g, '').toUpperCase();
  const moved = s.slice(4) + s.slice(0, 4);
  const digits = moved.replace(/[A-Z]/g, (c) => c.charCodeAt(0) - 55);
  let rest = 0;
  for (const d of digits) rest = (rest * 10 + Number(d)) % 97;
  return rest === 1;
}

isValidIban('PL61 1090 1014 0000 0712 1981 2874'); // true

IBAN a NRB

NRB, czyli Numer Rachunku Bankowego, to krajowy format złożony z 26 cyfr. Polskie banki stosują go od 2004 roku. IBAN to ten sam numer poprzedzony literami PL, a cyfry kontrolne w obu zapisach są identyczne. Zamiana jednego formatu na drugi polega więc tylko na dopisaniu albo usunięciu kodu kraju.

NRB
61 1090 1014 0000 0712 1981 2874
IBAN
PL61 1090 1014 0000 0712 1981 2874

Do przelewu krajowego wystarcza NRB. Przy przelewie z zagranicy potrzebny jest pełny IBAN, a poza obszarem SEPA zwykle także kod BIC (SWIFT) banku odbiorcy.

Do czego przydają się testowe numery IBAN

Najczęściej korzystają z nich programiści i testerzy aplikacji, które przyjmują numer konta: sklepów, systemów płatności, programów księgowych czy formularzy zwrotów. Prawdziwe numery klientów to dane osobowe, więc nie powinny trafiać do środowisk testowych.

  • Przy testach formularza warto sprawdzić oba zapisy, bo użytkownicy wklejają numery ze spacjami i bez nich, a czasem z małymi literami pl.
  • Do testów odrzucania zmień jedną cyfrę wygenerowanego numeru. Walidator MOD 97 powinien go wtedy zablokować.
  • Plik CSV ze stoma numerami nadaje się do zasilenia bazy testowej albo do sprawdzenia importu listy przelewów.
  • W makietach i materiałach szkoleniowych numer wygląda wiarygodnie, a nie należy do żadnej znanej osoby.

Generator przydaje się też na lekcjach i zajęciach z finansów. Wygenerowany numer można sprawdzić ręcznie według kroków opisanych wyżej i zobaczyć, że reszta z dzielenia rzeczywiście wynosi 1.

Banki w generatorze

Generator zna 14 banków. Dla każdego używa jednego numeru rozliczeniowego z rejestru NBP, zwykle centrali albo dużego oddziału. Banki mają ich znacznie więcej, ale do testów wystarczy jeden poprawny numer na bank.

Banki i numery rozliczeniowe używane przez generator IBAN
Bank Numer rozliczeniowy
PKO Bank Polski 1020 1013
Bank Pekao 1240 1011
Erste Bank Polska (dawniej Santander) 1090 1014
mBank 1140 1010
ING Bank Śląski 1050 0347
BNP Paribas Bank Polska 1600 1068
Bank Millennium 1160 0006
Alior Bank 2490 0005
Credit Agricole Bank Polska 1940 1210
Citi Handlowy 1030 1016
Nest Bank 1870 0006
Bank BPS 1930 0005
Bank Ochrony Środowiska 1540 0017
Bank Pocztowy 1320 1104

Długość IBAN w innych krajach

Każdy kraj ma własną budowę numeru, więc długość IBAN zależy od państwa. Numer zawsze zaczyna się od dwuliterowego kodu kraju i dwóch cyfr kontrolnych liczonych tą samą metodą MOD 97. IBAN jest obowiązkowy w przelewach SEPA, które obejmują ponad 40 krajów Europy.

Długość numeru IBAN w wybranych krajach
Kraj Kod Znaków
Polska PL 28
Niemcy DE 22
Czechy CZ 24
Słowacja SK 24
Francja FR 27
Włochy IT 27
Hiszpania ES 24
Wielka Brytania GB 22
Holandia NL 18
Norwegia NO 15

Ten generator tworzy tylko polskie numery. Polski IBAN należy do dłuższych w Europie, bo zawiera pełny numer rozliczeniowy oddziału i 16-cyfrowy numer rachunku.

Często zadawane pytania

Czy wygenerowane numery IBAN należą do prawdziwych kont?

Generator nie korzysta z żadnych danych bankowych. Numer rozliczeniowy wskazuje istniejący oddział banku, ale 16 cyfr rachunku jest losowanych. Taki rachunek może nie istnieć albo przypadkiem należeć do kogoś, dlatego nigdy nie wysyłaj na wygenerowany numer pieniędzy.

Czy wygenerowany numer przejdzie walidację?

Tak. Cyfry kontrolne są liczone algorytmem MOD 97, a numer rozliczeniowy pochodzi z rejestru NBP i ma poprawną cyfrę kontrolną. Walidacja sprawdza jednak tylko budowę numeru. Nie potwierdza, że rachunek istnieje.

Jak sprawdzić, czy prawdziwy numer IBAN jest poprawny?

Przenieś cztery pierwsze znaki na koniec numeru, zamień litery PL na 2521 i oblicz resztę z dzielenia całej liczby przez 97. Poprawny numer daje resztę 1. Numer własnego rachunku znajdziesz w aplikacji banku, na wyciągu albo w umowie rachunku.

Czym różni się IBAN od NRB?

NRB to krajowy numer rachunku złożony z 26 cyfr. IBAN to ten sam numer z literami PL na początku, razem 28 znaków. Przełącznik „Bez PL (NRB)” w generatorze zwraca numery w formacie krajowym.

Czy można wygenerować IBAN dla innego kraju?

Nie, generator tworzy tylko polskie numery. Każdy kraj ma własną długość i budowę numeru, a przykładowe długości są w tabeli na tej stronie.

Jakie banki są dostępne w generatorze?

Generator ma 14 banków: PKO Bank Polski, Bank Pekao, Erste Bank Polska (dawniej Santander), mBank, ING Bank Śląski, BNP Paribas Bank Polska, Bank Millennium, Alior Bank, Credit Agricole Bank Polska, Citi Handlowy, Nest Bank, Bank BPS, Bank Ochrony Środowiska, Bank Pocztowy. Dla każdego używa jednego numeru rozliczeniowego z rejestru NBP.