WARNING! If you really want to know what's up with French numbers, make sure you read the Notes and Subtleties parts. Otherwise, just stick to the tables or you might end up hating the French language.
Numbers from 0 to 22:
17, 18 and 19 are literally translated as ten-seven, ten-eight and ten-nine. You must be careful not to forget the hyphen.
21 is literally translated as twenty and one. This also applies to 31, 41, 51 and 61. You may see these numbers written with hyphens: vingt-et-un in textbooks, videos, or articles. According to the 1990 spelling reform; the numbers should be written without hyphens. However, some people continue to use the old spelling.
22 is translated the same way as in English but don't forget the hyphen. This applies to 23, 24, 25, 26, 27, 28 and 29 (and again to the numbers 32-39; 42-49, 52-59; 62-69)
These numbers in context:
1. J'habite au numéro vingt. I live at number 20.
2. Mon numéro de téléphone c'est le 06 26 48 19 72 (zéro six, vingt-six, quarante-huit, dix-neuf, soixante-douze). My phone number is 06 26 48 19 72.
Notice how French people give numbers in pairs.
3. Elle a cinquante et un ans. She is 51.
Notice how French people use AVOIR to give their age. They also always include the word "ans".
Numbers 30 to 99:
70 does not follow the previous pattern. Instead French people say soixante-dix (literally sixty-ten).
This is not the case in Belgium or Switzerland, where 70 is septante and 90 is nonante. As for 80, huitante is used in Switzerland, whereas quatre-vingts tends to be used in Belgium with a few people using octante.
71 literally translates as sixty and eleven. The 'and' is dropped for 72 and an hyphen is used: soixante-douze. This will continue up to 79: soixante-dix-neuf (sixty-ten-nine)
80 literally translates as four-twenties (4 lots of twenties = 80).
81 literally translates as four-twenty-one. Notice that the 'and' has been dropped
90 literally translates as four-twenty-ten.
91: literally translates as four-twenty-eleven. No 'and' here either (unlike 71).
You might have noticed that the "s" in quatre-vingts is dropped in quatre-vingt-un.
Vingt only takes the plural form when it is not followed by another cardinal adjective (counting number). This rule is arbitrary and was imposed in the 18th century for no real reason. Don't try to understand it.
Il y a quatre-vingts vaches dans ce champ. There are 80 cows in this field.
Elle a quatre-vingt-cinq euros sur elle. She has 85 euros in her.
100 literally translates as hundred (rather than one hundred).
1000 literally translates as thousand (rather than one thousand).
1.000.000 translates the same way as in English. Notice that French people use dots rather than commas however.
The cardinal adjective cent follows the same rule as seen earlier with vingt.
Cent takes an 's' only when it is at the end of a number.
Je te l'ai répété cent fois. I told you a hundred times.
Cinq cents personnes sont venus au concert. 500 people came to the concert.
The cardinal adjective mille is invariable ( it does not agree in gender or number). This means that mille never takes an 's'.
The only time you will see milles is when it refers to the noun miles ( unit of measurement- which is only used for air and sea travels in France)
This means that you can come across this expression:
Gagner des mille et des cents. To make money hand over fist.
Where mille does not take an 's' but cents does!
Finally, let's take a look at 1.000.000
The reason why this number is preceded by "un" is because it is not an adjective, but a noun. This is also the reason why it has an 's' in its plural form.
This means that you have to write:
quatre-vingt mille (80.000)
quatre-vingts millions (80.000.000), because grammatically speaking, vingt is not followed by a cardinal adjective.
One last number just for fun:
2.320.600 = deux millions trois cent vingt mille six cents.
and you thought you knew French numbers...