The German QWERTZ keyboard differs from the English QWERTY layout in several ways: Y and Z are swapped, the umlaut letters ä, ö, ü have dedicated keys, and ß sits on the number row. This reference maps every special character to its physical key and modifier.
How it works
Each printable character on the German T2 layout is produced by a key plus an optional modifier:
plain – the unshifted key (lower-case letters, digits)
Shift – upper-case letters and the upper symbol on dual keys
AltGr – the third level: @ € µ { } [ ] \ | ~ and more
For example @ is AltGr+Q, € is AltGr+E, the curly braces { } are AltGr+7 and AltGr+0, and the backslash \ is AltGr+ß. The umlaut keys ä/ö/ü are direct single-press keys, not dead keys.
Example and notes
Typing the email separator on a German keyboard trips up many users because @ is not on the 2 key as in the US layout; it is AltGr+Q. Likewise the square brackets used in code are AltGr+8 and AltGr+9. Knowing the AltGr layer is the key to typing programming symbols comfortably on QWERTZ.