A German IBAN is always 22 characters long. Here is what each part of it means, with a real example broken down field by field — and a checker that runs on your machine.
A German IBAN is simply the old pair of numbers glued together: the 8-digit Bankleitzahl that identified the bank, then the 10-digit Kontonummer, padded with leading zeros to fill the ten places. Since 2016 domestic transfers use the IBAN alone — the BLZ is no longer entered separately, which is why it now only ever appears inside the IBAN.
The two digits straight after DE are not part of the account — they are a checksum over everything else. Move the first four characters to the end, turn every letter into a number (A=10 … Z=35), divide the result by 97, and a genuine IBAN always leaves a remainder of exactly 1. That is what the box above is doing, on your machine, with nothing sent anywhere.
If the number is on a scanned PDF you cannot select, retyping 22 characters is where mistakes get made. Snip2Field sits on your Windows desktop: press a hotkey, drag a box over the IBAN, and it reads the field, runs this exact checksum and copies it — ready to paste into your books or a transfer form. Fully offline.
See Snip2FieldExactly 22, always. That is DE, two check digits, and 18 characters of account detail. Anything longer or shorter is not a valid DE IBAN, whatever else is right about it.
It is the 8 characters directly after the check digits. In the example DE89 3704 0044 0532 0130 00, that is 37040044.
You can tell whether it was written down correctly: the check digits catch a single wrong character or two swapped ones. You cannot tell whether the account exists — only the receiving bank knows that, which is what the recipient-name check does when a transfer is made.