Numbers
Numbers 0-19
0 zéro
1 un
2 deux
3 trois
4 quatre
5 cinq
6 six
7 sept
8 huit
9 neuf
10 dix
11 onze
12 douze
13 treize
14 quatorze
15 quinze
16 seize
17 dix-sept
18 dix-huit
19 dix-neuf
Numbers 20-69
The number consists of a word for the multiple of ten plus optionally the number for the unit 1-9 from the list above.
Names of the tens:
20 vingt
30 trente
40 quarante
50 cinquante
60 soixante
Tens and units are joined with a hyphen. So, 22 = vingt-deux, 45 = quarante-cinq etc. If the unit is a 1, then the word et is inserted between tens and units: 21 = vingt et un, 31 = trente et un etc.
Numbers 70-79
These continue on from soixante-neuf: 70 = soixante-dix, 71 = soixante et onze, 72 = soixante-douze, 73 = soixante-treize etc. Notice the et in 71 which mimics the behaviour of 21, 31 etc.
Numbers 80-99
The French for eighty is quatre-vingts. Numbers 81-99 consist of quatre-vingt- (minus the -s) plus a number 1-19: 81 = quatre-vingt-un, 82 = quatre-vingt-deux, 90 = quatre-vingt-dix, 91 = quatre-vingt-onze etc. Notice that none of these numbers use the word et.
Hundreds
The French for '(a) hundred' is cent. Multiples of a hundred go deux cents, trois cents etc with an -s on cents. If the number is not an exact multiple of 100, then the number representing the last two digits follows cent, which loses its -s: 101 = cent un, 201 = deux cent un, 202 = deux cent deux etc. Notice that in French there is no word for 'and' between the hundres and the tens/units, unlike in English, and that "a hundred" is just cent, not un cent.
Thousands
The French for '(a) thousand' is mille. This word never adds an -s, and there is never a word for 'and' between the thousands and the hundreds/tens/units. So: 1000 = mille, 2000 = deux mille, 2001 = deux mille un, 3079 = trois mille soixante-dix-neuf.
This short video shows useful pronunciation for French numbers.