How numbers work in German
German has separate words for 0 to 12: null, eins, zwei … elf, zwölf. From 13 to 19 you add -zehn: dreizehn, vierzehn, fünfzehn. Watch out for sechzehn (16, no s) and siebzehn (17, no en).
The tens end in -zig: zwanzig, vierzig, fünfzig, sechzig, siebzig, achtzig, neunzig. The exceptions are dreißig (30), spelled with ß, and sechzig (60) and siebzig (70), which drop letters.
From 21 on German says the unit first and then the ten, joined by und (and): einundzwanzig is literally one-and-twenty, neunundneunzig is nine-and-ninety. Eins becomes ein in these compounds. This reversed order is the most common source of mistakes, for example when noting down phone numbers.
Numbers are written as one word, however long: zweihundertdreiundvierzig (243). For 100 and 1,000 you can say hundert or einhundert, tausend or eintausend. From a million on, the word is a separate noun with a capital letter: eine Million, zwei Millionen.
Ordinals add -te up to 19 (zweite, vierte) and -ste from 20 (zwanzigste). Erste, dritte, siebte and achte are irregular. In a sentence the ending changes with the article: der erste Tag, am ersten Tag.