The Czech Republic encodes its distinctive prefix-account-slash-bank domestic notation into a 24-character IBAN, BBAN pattern ^[0-9]{20}$.
From domestic notation to IBAN
Czech account details are traditionally written as prefix-number/bankcode, for example 19-2000145399/0800. The registry example CZ65 0800 0000 1920 0014 5399 (a SWIFT registry test value, not a real account) is that same account in IBAN form:
CZ65- country code and IBAN check digits0800- 4-digit bank code (Česká spořitelna in this example), which domestically appears after the slash000019- the account prefix, padded from 19 to six digits2000145399- the 10-digit account number
Note the reordering: domestically the bank code comes last, but in the IBAN it comes first. This is the most common source of manual conversion errors for Czech accounts.
National modulo-11 discipline
Czech National Bank decree requires both the prefix and the main account number to satisfy a weighted modulo-11 checksum (weights 6,3,7,9,10,5,8,4,2,1 across the positions). A validator implementing the Czech rules can therefore reject numbers that pass the IBAN checksum but could never have been issued domestically. Slovakia, which shared this system before the 1993 split, still uses a structurally identical BBAN under the SK prefix.
SEPA and practical use
Czechia is an EU and SEPA member but keeps the koruna. The same IBAN serves domestic CZK payments (where people still habitually quote the slash notation) and euro SEPA transfers. When converting old records, remember both paddings: prefix to 6 digits, account number to 10.
As with every country, a Czech IBAN that validates is merely well formed. The bank code could be real and the arithmetic perfect while the account is closed or never existed. Verification of Payee name matching, now rolling out across EU payment providers, is what actually confirms you are paying the intended person.