Portugal’s IBAN is 25 characters, all numeric after the prefix, BBAN pattern ^[0-9]{21}$. Its party trick: every valid Portuguese IBAN begins PT50, a mathematical consequence of the domestic check digits rather than a stylistic choice.
Structure
The official registry example is PT50 0002 0123 1234 5678 9015 4, a SWIFT registry test value, not a live account:
PT50- country code and the invariant check digits0002- 4-digit bank code0123- 4-digit branch code12345678901- the 11-digit account number54- the NIB’s own 2 check digits
Why PT50 is always PT50
The NIB closes with two check digits computed by a modulo-97 scheme over the first 19 digits. When the ISO 7064 IBAN algorithm is then run over a string that already satisfies the NIB rule, the resulting IBAN check digits come out as 50 every time. This gives Portuguese IBANs an instant visual sanity check: anything not starting PT50 can be rejected before doing any arithmetic. The flip side is that the IBAN check digits add no information beyond the NIB’s own check, so the two layers are not independent the way they are in, say, Belgium.
Domestic format and SEPA
Portuguese banking has used the 21-digit NIB since the 1980s, printed in 4-4-11-2 groups on statements and Multibanco slips. SEPA migration required nothing more than prefixing PT50, so legacy records convert losslessly. Portugal is a founding eurozone and SEPA member; PT IBANs work throughout the area for euro credit transfers and direct debits, and the same numbers cover the Azores and Madeira, which are fully part of the Portuguese banking system.
A well-formed PT IBAN with correct NIB check digits is still only structurally plausible. The branch may have closed in Portugal’s banking consolidation, or the account number may never have been issued. No checksum reveals whether an account exists or who holds it; Verification of Payee name matching is the EU control designed to answer exactly that question before your transfer is executed.