Denmark formats its IBAN in 18 characters with the BBAN pattern ^[0-9]{14}$: an all-numeric domestic account number split into a 4-digit bank register number and a 10-digit account.
Breakdown
The official registry example is DK50 0040 0440 1162 43, a SWIFT registry test value rather than a real account:
DK50- country code and IBAN check digits0040- the 4-digit bank register number (reg. nr.) identifying the bank0440116243- the 10-digit account number
The register-number system
Each Danish bank is assigned one or more contiguous ranges of 4-digit register numbers, coordinated through e-nettet, the banks’ shared payment-infrastructure operator. Nordea, for instance, holds a broad low-number block, while Danske Bank occupies several ranges of its own. Because allocation is range-based, the roughly seven thousand register numbers that could appear in a Danish IBAN resolve to only a few dozen banks. There is no separate branch field, and the Danish BBAN carries no national check digit, so integrity rests on the IBAN’s MOD-97 check digits alone.
The Faroe Islands (FO) and Greenland (GL) sit in the same combined register with the identical account layout but their own IBAN prefixes, reflecting the shared Danish clearing infrastructure across the realm.
Currency and SEPA context
Denmark is an EU member but keeps the Danish krone rather than the euro; it participates fully in the SEPA schemes, so euro transfers to and from DK IBANs use standard SEPA rails while domestic traffic settles in kroner over the local system.
Validity remains structural only. An 18-character string that passes the checksum may reference a closed account or an unissued register number, and it says nothing about the holder’s identity. Name-matching services in the style of the EU’s Verification of Payee are the safeguard against paying a well-formed number that belongs to the wrong person.