Portugal IBAN Format (PT): Structure, NIB, and Validation Examples
Portuguese IBANs are always 25 characters with a 4-digit bank code and dual check digits. Learn the PT IBAN structure — CGD, BPI, Santander Totta, Millennium BCP — and NIB conversion.
A Portuguese IBAN is always exactly 25 characters long. It follows the format PT50 bbbb bbbb cccc cccc ccck k — where bb digits identify the bank, cc digits identify the branch and account, and the final two digits are domestic check characters. Portugal adopted the IBAN standard in 2003 and it has been mandatory for all domestic and SEPA transfers since the EU-wide migration in 2014.
Portuguese IBAN Structure
Breaking down a Portuguese IBAN character by character:
PT50 0002 0123 1234 5678 9015 4
Position Content Length
1–2 Country code (PT) 2
3–4 IBAN check digits 2
5–8 Bank code (código banco) 4
9–12 Branch code (balcão) 4
13–23 Account number 11
24–25 National check digits 2
Total: 25 charactersExample IBAN used in official SWIFT documentation: PT50 0002 0123 1234 5678 9015 4
- PT — Country code (Portugal)
- 50 — IBAN check digits
- 0002 — Bank code (Caixa Geral de Depósitos)
- 0123 — Branch code
- 12345678901 — Account number (11 digits)
- 54 — National check digits
The National Check Digits in a Portuguese IBAN
Portugal's IBAN contains two layers of check digits. The two at positions 3–4 are the standard IBAN check digits computed via the MOD-97 algorithm. The two at positions 24–25 are domestic check digits — part of Portugal's legacy NIB (Número de Identificação Bancária) format that predates the IBAN standard.
The domestic check digits are calculated using a weighted sum algorithm over the bank code, branch code, and account number, with weights based on powers of 10 modulo 97. They must be computed from the raw bank data before the IBAN check digits are added. Getting them wrong produces a 25-character string that looks correct but will be rejected by Portuguese banks.
Portugal's Largest Banks and Their IBAN Codes
| Bank | Bank Code | BIC/SWIFT | Type |
|---|---|---|---|
| Caixa Geral de Depósitos (CGD) | 0035 | CGDIPTPL | State-owned |
| Banco BPI | 0010 | BBPIPTPL | Private |
| Santander Totta | 0018 | TOTAPTPL | Private (foreign) |
| Millennium BCP | 0033 | BCOMPTPL | Private |
| Novo Banco | 0007 | BESCPTPL | Private |
You can look up the bank name and BIC for any Portuguese IBAN using the ibanchecker.cash validator — paste the IBAN and it will return the bank name, BIC, SEPA status, and validation result instantly.
Is Portugal Part of SEPA?
Yes. Portugal is a eurozone and founding SEPA member. All Portuguese bank accounts support SEPA Credit Transfers and SEPA Direct Debits. For payments from any of the 36 SEPA countries to a Portuguese account, only the IBAN is required — the BIC/SWIFT code is not mandatory for SEPA transfers.
Portugal also participates in the SEPA Instant Credit Transfer scheme (SCT Inst), which is offered by major Portuguese banks including CGD, Millennium BCP, and Novo Banco. Instant payments settle in under 10 seconds, 24/7.
Common Mistakes with Portuguese IBANs
- Missing leading zeros: all four sections of the BBAN (bank code, branch code, account number, check digits) are fixed-length and zero-padded. A bank code of
35must be entered as0035. - Confusing NIB and IBAN: the NIB (21 digits) is the domestic Portuguese account identifier without the country code and IBAN check digits. You cannot use a NIB for SEPA transfers — you need the full 25-character PT IBAN.
- Spaces in electronic transmission: the print format
PT50 0002 0123 1234 5678 9015 4includes spaces; strip them before submitting to any payment API. - Wrong length: a Portuguese IBAN is always 25 characters (without spaces). A 24- or 26-character string is always wrong.
Validating Portuguese IBANs
To validate a PT IBAN:
- Confirm the first two characters are
PT - Confirm the total length (without spaces) is 25
- Confirm all characters after
PTare digits (Portuguese IBANs are fully numeric after the country code) - Run the MOD-97 check: rearrange, convert letters, compute mod 97 — result must be 1
For bulk validation of multiple Portuguese IBANs, the bulk IBAN checker accepts CSV and Excel uploads and returns validity, bank name, and BIC for each row — useful for AP teams processing Portuguese supplier invoices.
Portuguese IBAN Regex
/^PT\d{23}$/This regex matches any 25-character string starting with PT followed by 23 digits. It catches format and length errors but does not validate the check digits — always follow up with a MOD-97 check for complete validation.
Last updated: June 2026
Validate an IBAN instantly
Free IBAN checker — MOD-97 verification, bank lookup, and SEPA status across 84 countries.
Open IBAN Checker →Related Articles