Kod SWIFT, czyli BIC, to 8- albo 11-znakowy kod banku, który podajesz osobie przelewającej ci pieniądze z zagranicy, a pomyłka w nim potrafi kosztować opłatę za zwrot przelewu. Uważaj na dwa podobne kody różnych banków: PKO Bank Polski ma BPKOPLPW, a Bank Pekao PKOPPLPW. Dawny Santander Bank Polska działa dziś jako Erste Bank Polska i nadal ma kod WBKPPLPP. Kody w tabeli pochodzą ze stron banków, stan na 12 listopada 2026 roku. Przy przelewie w euro między bankami w Unii podajesz IBAN, a bank nie może wymagać od ciebie BIC.
Co to jest kod SWIFT
To międzynarodowy identyfikator banku nadawany przez organizację SWIFT, czyli stowarzyszenie obsługujące komunikaty między bankami na całym świecie. Jego oficjalna nazwa to BIC, od angielskiego Business Identifier Code. Nazwy SWIFT, BIC i BIC/SWIFT oznaczają więc ten sam kod. Format kodu opisuje norma ISO 9362:2022, piąte wydanie z kwietnia 2022 roku.
BIC wskazuje bank, a IBAN wskazuje konkretny rachunek w tym banku. Przy przelewie SWIFT na konto w Polsce przygotuj oba. Sposób ich podania zależy od banku nadawcy. Budowę samego numeru konta i to, jak po nim rozpoznać bank, opisaliśmy w tekście IBAN: co to jest i ile cyfr ma numer konta.
Swój kod najszybciej znajdziesz w aplikacji banku, w szczegółach rachunku. Na przykład mBank podaje, że w aplikacji wystarczy wybrać Produkty i kliknąć rachunek, a pojawią się numer IBAN i kod BIC/SWIFT.
Kody SWIFT polskich banków: tabela
Każdy kod w tabeli pochodzi ze strony banku, najczęściej ze stopki albo z zakładki kontaktowej. Banki zapisują kody różnie: część w wersji 8-znakowej, część z końcówką XXX, która oznacza centralę. Przepisuj kod dokładnie w takiej postaci, w jakiej podaje go twój bank.
| Bank | Kod BIC / SWIFT | Gdzie bank go podaje |
|---|---|---|
| PKO Bank Polski | BPKOPLPW | strona “Kod BIC (SWIFT) i IBAN” |
| Bank Pekao | PKOPPLPW | strona kontaktowa |
| mBank (klienci indywidualni, firmowi, private banking) | BREXPLPWMBK | pytania o przelewy zagraniczne |
| mBank (MSP i korporacje) | BREXPLPWXXX | pytania o przelewy zagraniczne |
| ING Bank Śląski | INGBPLPW | strona kontaktowa |
| Erste Bank Polska (przedtem Santander Bank Polska) | WBKPPLPP | stopka erste.pl |
| Bank Millennium | BIGBPLPWXXX | stopka strony głównej |
| Alior Bank | ALBPPLPWXXX | strona kontaktowa |
| BNP Paribas Bank Polska | PPABPLPKXXX | strona kontaktowa |
| Credit Agricole | AGRIPLPR | strona kontaktowa |
| Citi Handlowy | CITIPLPX | strona kontaktowa |
| VeloBank | GBGCPLPK | strona kontaktowa |
| Nest Bank | NESBPLPW | strona kontaktowa |
| Bank Pocztowy | POCZPLP4 | pomoc “O banku” |
| BOŚ Bank | EBOSPLPWXXX | strona kontaktowa |
Odczyt: 12 listopada 2026 roku. Banku, którego nie ma w tabeli, nie szukaj w przypadkowych serwisach z listami kodów. Sprawdź kod w aplikacji albo na stronie banku. Bank Pocztowy sam prostował literówkę w swoim kodzie, która trafiła do części zestawień opłat wysłanych klientom. Poprawny zapis to POCZPLP4, z cyfrą 4 na końcu.
SWIFT PKO BP i Pekao: kody, które łatwo pomylić
PKO Bank Polski ma kod BPKOPLPW, a Bank Pekao PKOPPLPW. Oba zawierają litery PKO i oba kończą się na PLPW, więc łatwo wpisać jeden zamiast drugiego. Różnica jest na początku: PKO Bank Polski zaczyna się od B, a Pekao od PKOP, od pełnej nazwy Bank Polska Kasa Opieki.
Odległość edycyjna, czyli najmniejsza liczba zmian liter potrzebna, żeby z jednego kodu zrobić drugi, wynosi dla tej pary 2. Wystarczy usunąć pierwszą literę B i dopisać P po PKO. To najbliższa para wśród wszystkich 8-znakowych kodów w naszej tabeli; następna, ING i Nest Bank, dzieli 3 zmiany.
Pomyłka w kodzie kosztuje czas i pieniądze, jeśli przelew trzeba potem zwracać albo poprawiać. Taryfa PKO BP przewiduje na przykład 50 zł plus koszty banków trzecich za zwrot przelewu zagranicznego bez dyspozycji klienta.
Kod SWIFT mBanku: BREXPLPWMBK czy BREXPLPWXXX
Klient indywidualny mBanku podaje kod BREXPLPWMBK. Ten sam kod dotyczy klientów firmowych i private banking. Kod BREXPLPWXXX jest dla klientów MSP i korporacji. Tak dzieli to strona mBanku o przelewach zagranicznych.
Litery BREX to pozostałość po dawnej nazwie banku. mBank w danych do przelewu podaje swój bank jako “mBank S.A. FORMERLY BRE BANK S.A. (RETAIL BANKING) LODZ”. Końcówka MBK to identyfikator oddziału, a XXX oznacza centralę. Jeśli masz konto osobiste w mBanku, podawaj wersję z MBK.
Kod SWIFT Santander: dziś to kod Erste Bank Polska
Santander Bank Polska zmienił nazwę na Erste Bank Polska, a kod został ten sam: WBKPPLPP. Strona santander.pl przekierowuje już na erste.pl, a w stopce bank pisze o sobie “Erste Bank Polska S.A. (przedtem Santander Bank Polska S.A.)”. Bank zapowiada też, że poprzedni adres santander.pl docelowo przestanie działać.
Litery WBK nawiązują do Banku Zachodniego WBK, jak bank nazywał się przed Santanderem. Jeśli zagraniczny pracodawca albo urząd ma w systemie zapisany “Santander Bank Polska”, kod WBKPPLPP nadal jest aktualny. Przy okazji poproś o poprawienie nazwy banku na Erste Bank Polska.
Z czego składa się kod BIC
Kod BIC ma 8 albo 11 znaków i dzieli się na cztery części. PKO Bank Polski opisuje je tak: 4 znaki identyfikatora instytucji, 2 litery kodu kraju według normy ISO 3166-1, 2 znaki kodu lokalizacji i opcjonalnie 3 znaki identyfikatora oddziału. Zamiast oddziału może stać XXX, co oznacza centralę.

We wszystkich kodach z naszej tabeli piąta i szósta litera to PL. Jeśli ktoś podaje ci “polski” kod z innymi literami w tym miejscu, to kod banku z innego kraju. Kod BIC nie ma cyfry kontrolnej, w przeciwieństwie do IBAN-u. Walidator wykryje część błędów, na przykład złą długość albo cyfrę w miejscu kodu kraju. Nie rozpozna jednak literówki, która zamienia poprawny kod w inny poprawny składniowo.
Walidator formatu BIC w Pythonie
Poniższy skrypt sprawdza, czy ciąg znaków ma budowę kodu BIC, i rozkłada go na części. Liczy też odległość edycyjną między dwoma kodami, czyli to, jak blisko siebie leżą. Uruchomiliśmy go w Pythonie 3.14 na wszystkich kodach z tabeli.
import re
BIC_RE = re.compile(r"^([A-Z0-9]{4})([A-Z]{2})([A-Z0-9]{2})([A-Z0-9]{3})?$")
def parse_bic(raw):
"""Sprawdza FORMAT kodu BIC (8 albo 11 znaków). Nie sprawdza, czy bank istnieje."""
code = re.sub(r"\s+", "", raw).upper()
m = BIC_RE.match(code)
if not m:
return None
institution, country, location, branch = m.groups()
return {
"code": code,
"institution": institution,
"country": country,
"location": location,
"branch": branch or "",
"names_branch": branch not in (None, "XXX"),
}
def edit_distance(a, b):
"""Odległość Levenshteina: ile zmian dzieli dwa kody."""
prev = list(range(len(b) + 1))
for i, ca in enumerate(a, 1):
cur = [i]
for j, cb in enumerate(b, 1):
cur.append(min(prev[j] + 1, cur[j - 1] + 1, prev[j - 1] + (ca != cb)))
prev = cur
return prev[-1]
def test_validator():
assert not parse_bic("BPKOPLPW")["names_branch"]
assert parse_bic("bpko plpw")["code"] == "BPKOPLPW"
assert parse_bic("BREXPLPWMBK")["branch"] == "MBK"
assert parse_bic("BREXPLPWMBK")["names_branch"]
assert not parse_bic("BREXPLPWXXX")["names_branch"]
assert parse_bic("BPKOPLP") is None # 7 znaków
assert parse_bic("BPKOPLPWX") is None # 9 znaków
assert parse_bic("BPKO1LPW") is None # cyfra w kodzie kraju
assert parse_bic("PL61109010140000071219812874") is None # to IBAN, nie BIC
assert edit_distance("BPKOPLPW", "PKOPPLPW") == 2
print("Wszystkie testy przeszły")
test_validator()
Fragment wyniku dodatkowego sprawdzenia wszystkich kodów z tabeli tymi samymi funkcjami:
Wszystkie testy przeszły
Bank Kod Bank Kraj Lok. Oddz. Wskazuje oddział
PKO Bank Polski BPKOPLPW BPKO PL PW - nie
Bank Pekao PKOPPLPW PKOP PL PW - nie
mBank (klienci indywidualni) BREXPLPWMBK BREX PL PW MBK tak
mBank (MSP i korporacje) BREXPLPWXXX BREX PL PW XXX nie
Erste Bank Polska WBKPPLPP WBKP PL PP - nie
Bank Pocztowy POCZPLP4 POCZ PL P4 - nie
Odległość PKO BP / Pekao: 2
Walidator przepuści każdy kod o poprawnej budowie, także taki, którego żaden bank nie używa. Mówi tylko, że ciąg znaków wygląda jak BIC. Czy kod należy do właściwego banku, sprawdzisz wyłącznie na stronie tego banku albo w jego aplikacji.
Przelew SEPA czy SWIFT: koszt i czas
Przelew SEPA to przelew w euro między bankami uczestniczącymi w Jednolitym Obszarze Płatności w Euro. Obejmuje kraje Unii i inne państwa z listy Europejskiej Rady ds. Płatności (EPC), między innymi Norwegię, Szwajcarię i Wielką Brytanię. Przelew SWIFT idzie siecią komunikatów SWIFT i może być w różnych walutach. mBank nazywa tak każdy przelew walutowy do banku zagranicznego inny niż SEPA. Ta różnica decyduje o koszcie i o tym, czy w ogóle potrzebujesz kodu BIC.
Przy przelewie w euro między bankami w Unii bank nie może wymagać od ciebie podania BIC. Zakaz wynika z art. 5 ust. 7 rozporządzenia UE nr 260/2012. Do krajów SEPA spoza Unii, takich jak Szwajcaria czy Wielka Brytania, sprawdź wymagania swojego banku.

Ile kosztuje przelew zagraniczny w mBanku i PKO BP
W mBanku przelew SEPA nic nie kosztuje i idzie 1 dzień roboczy. Za przelew SWIFT klient indywidualny płaci 0,35% kwoty, co najmniej 25 zł i najwyżej 200 zł. Do tego mogą dojść opłaty banków pośredniczących i banku odbiorcy, których mBank nie potrafi z góry wyliczyć. Taki przelew trwa zwykle 2 dni robocze, a gdy po drodze jest kilka banków pośredniczących, nawet tydzień.
W PKO BP otrzymanie przelewu SEPA kosztuje 0 zł. Za przelew spoza SEPA otrzymany z banku zagranicznego bank pobiera zasadniczo 11 zł, poza przelewami objętymi ustawą antyspreadową. Standardowe wysłanie przelewu do banku zagranicznego innego niż SEPA kosztuje 25 zł w bankowości elektronicznej i 50 zł w oddziale. Przy zleceniu elektronicznym opłata spada do 0 zł, jeśli wysyłasz z rachunku walutowego w jego walucie z opcją SHA i przed zleceniem, w tym albo poprzednim miesiącu, zrobiłeś transakcję w kantorze internetowym PKO BP. W oddziale zostaje 50 zł. Stawki podaje część VII taryfy dla osób fizycznych, obowiązująca od 1 czerwca 2023 roku i podlinkowana na stronie opłat banku 12 listopada 2026 roku.
Kto płaci koszty przelewu SWIFT: SHA i OUR
Przy przelewie SWIFT wybierasz też, kto płaci koszty. Opcja SHA dzieli je: ty płacisz swojemu bankowi, a odbiorca pokrywa ewentualne koszty pośredników. W opcji OUR płacisz wszystko sam, a PKO BP liczy za nią dodatkowo 80 zł. Godziny księgowania przelewów krajowych, które często idą w parze z zagranicznymi, opisaliśmy w tekście o sesjach Elixir i czasie przelewu.
Jakie dane podać do przelewu z zagranicy
Do przyjęcia przelewu SWIFT mBank każe przygotować sześć rzeczy. W innym banku sprawdź instrukcję dla swojego rachunku, ale lista jest dobrym punktem wyjścia:
- Numer konta w formacie IBAN, czyli PL i 26 cyfr, zapisany jednym ciągiem bez spacji.
- Imię i nazwisko albo nazwę firmy, jeśli to rachunek firmowy.
- Swój adres.
- Tytuł przelewu.
- Kod BIC/SWIFT swojego banku z tabeli wyżej.
- Nazwę i adres banku.
mBank ostrzega, że brak IBAN-u albo kodu BIC utrudnia identyfikację odbiorcy i jego banku. Koszty obsługi takiego przelewu w banku odbiorcy mogą wtedy wzrosnąć, a pokrywa je zlecający przelew. Jeśli ktoś przysyła ci “do potwierdzenia” inne dane konta albo prosi o kod z SMS-a przy rzekomym przelewie z zagranicy, to sygnał oszustwa. Co wtedy zrobić, opisaliśmy w poradniku oszustwo bankowe: gdzie zgłosić.
Pytania o SWIFT i BIC
Czy SWIFT i BIC to to samo?
Tak. BIC to oficjalna nazwa kodu z normy ISO 9362, a SWIFT to organizacja, która go nadaje. Banki piszą zamiennie SWIFT, BIC albo BIC/SWIFT, a chodzi o ten sam ciąg 8 albo 11 znaków.
Czy kod BIC jest taki sam dla każdego oddziału banku?
Banki z naszej tabeli podają klientom jeden kod dla całego banku, bez podziału na oddziały w miastach. Wyjątek dotyczy rodzaju klienta. mBank ma osobny kod dla klientów indywidualnych (BREXPLPWMBK) i osobny dla MSP i korporacji (BREXPLPWXXX). Oddziały PKO BP za granicą mają własne kody, na przykład BPKODEFF w Niemczech.
Co się stanie, jeśli wpiszę zły kod BIC?
Błędny BIC może spowodować odrzucenie przelewu albo konieczność jego poprawienia lub zwrotu. Jeśli bank wykonuje przy tym płatne czynności, pojawią się opłaty. W PKO BP zwrot przelewu zagranicznego bez dyspozycji klienta kosztuje 50 zł plus koszty banków trzecich, tyle samo zmiana albo uzupełnienie danych zrealizowanego przelewu. Dlatego kod przepisuj z aplikacji banku, a nie z pamięci.
Gdzie znajdę kod SWIFT mojego banku?
W aplikacji albo serwisie internetowym banku, w szczegółach rachunku, gdzie obok IBAN-u zwykle stoi kod BIC. Banki podają go też na stronie kontaktowej albo w stopce strony.
Podsumowanie
BIC wskazuje bank, a IBAN wskazuje rachunek, i przy przelewie SWIFT warto mieć pod ręką oba. Polskie banki mają kody 8- albo 11-znakowe, z literami PL na piątym i szóstym miejscu. Kody PKO BP i Pekao dzielą tylko dwie zmiany liter, a mBank ma dwa warianty zależne od rodzaju klienta. Dawny Santander, dziś Erste Bank Polska, nadal używa WBKPPLPP. Przy przelewie w euro między bankami w Unii podajesz IBAN, a bank nie może wymagać od ciebie BIC. Przelew SWIFT jest droższy i wolniejszy: w mBanku kosztuje co najmniej 25 zł i trwa zwykle 2 dni robocze. Kod zawsze przepisuj z aplikacji albo strony swojego banku, bo walidator potwierdzi tylko format, a nie to, że kod należy do właściwego banku.



