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
- Wybierz bank albo zostaw Dowolny bank. Wtedy każdy numer dostaje bank wylosowany z listy.
- 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. - Włącz Bez PL (NRB), jeśli pole w formularzu przyjmuje krajowy numer z 26 cyfr.
- Ustaw liczbę numerów, od 1 do 100, i kliknij Generuj numery.
- 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ęść | 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:
- Składa numer z kodem kraju i tymczasowymi cyframi kontrolnymi 00, a potem przenosi te cztery znaki na koniec.
- Zamienia litery na liczby: A to 10, B to 11 i tak dalej, aż do Z, czyli 35. P daje 25, L daje 21.
- Liczy resztę z dzielenia otrzymanej liczby przez 97.
- 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.
| 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.
| 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.