How do you convert Celsius to Fahrenheit?
Short answer. Multiply the Celsius temperature by 1.8 (which is 9/5), then add 32. So 20°C × 1.8 + 32 = 68°F, and 100°C = 212°F. To go back, subtract 32 and multiply by 5/9: 98.6°F is 37°C. In your head, double it and add 30, which is exact only at 10°C.
Two numbers do all the work, and both fall out of where the scales put water. Celsius puts freezing at 0 and boiling at 100. Fahrenheit puts them at 32 and 212. So the formula is one stretch and one shift:
Fahrenheit = Celsius × 1.8 + 32 (1.8 is 9/5) Celsius = (Fahrenheit − 32) × 5/9
That is the whole method. The rest of this page is examples, one shortcut, and the two ways people reliably get it wrong.
Where 1.8 and 32 come from
Between freezing and boiling, Celsius counts 100 degrees and Fahrenheit counts 212 − 32 = 180. So one Celsius degree is 180 ÷ 100 = 1.8 Fahrenheit degrees. That is the stretch.
The stretch alone would put freezing at 0°F, but Fahrenheit starts freezing at 32. So after stretching, you shift everything up by 32. Check it on the two points the formula was built from:
0°C → 0 × 1.8 + 32 = 32°F water freezes 100°C → 100 × 1.8 + 32 = 212°F water boils
Worked examples, Celsius to Fahrenheit
A mild day, 20°C. Multiply, then add:
20 × 1.8 = 36 36 + 32 = 68°F
Body temperature, 37°C. This is where the famous 98.6 comes from:
37 × 1.8 = 66.6 66.6 + 32 = 98.6°F
An oven at 180°C. Recipes usually print 350°F beside it. They are not equal:
180 × 1.8 = 324 324 + 32 = 356°F 6°F hotter than the 350 on the dial
The recipe is rounding to the nearest oven setting, and for a cake that is fine. It is still worth knowing that the two numbers on the page are a translation, not an equation.
Going back: Fahrenheit to Celsius
Undo the steps in reverse order. Subtract the 32 first, then shrink by 5/9. Doing it the other way round is the classic error.
98.6°F → 98.6 − 32 = 66.6 → 66.6 × 5/9 = 37°C 212°F → 212 − 32 = 180 → 180 × 5/9 = 100°C 350°F → 350 − 32 = 318 → 318 × 5/9 = 176.67°C (530/3 exactly) 72°F → 72 − 32 = 40 → 40 × 5/9 = 22.22°C (200/9 exactly)
Notice how often the answers stop being tidy. Multiplying by 1.8 never makes a repeating decimal, but dividing by 9 usually does. That asymmetry matters later.
In your head: double it and add 30
Doubling instead of multiplying by 1.8, and adding 30 instead of 32, gives a quick estimate. The error is 0.2 × C − 2, which is zero at exactly one temperature, 10°C, and grows the further you go from it:
Celsius Double + 30 Exact Error
0 30 32 2 low
10 50 50 exact
20 70 68 2 high
30 90 86 4 high
40 110 104 6 high
100 230 212 18 high
For weather it is good enough. For an oven it is useless: 180°C comes out as 390°F against a true 356°F, 34 degrees out. The reverse shortcut, subtract 30 and halve, has the same problem in the other direction: 72°F gives 21°C against a true 22.22°C.
Conversion table
| Celsius | Fahrenheit | What it is |
|---|---|---|
| −40 | −40 | The one point where the scales agree |
| −10 | 14 | A cold winter day |
| 0 | 32 | Water freezes |
| 10 | 50 | Where the shortcut is exact |
| 15 | 59 | |
| 20 | 68 | Room temperature |
| 25 | 77 | |
| 30 | 86 | A hot day |
| 37 | 98.6 | Body temperature |
| 40 | 104 | |
| 100 | 212 | Water boils (at sea level) |
| 180 | 356 | Moderate oven |
| 200 | 392 | Hot oven |
| 220 | 428 | Very hot oven |
Temperature changes do not get the 32
A forecast that says "5°C warmer than yesterday" is describing a difference, not a temperature. Differences only get the stretch:
A change of 5°C = 5 × 1.8 = 9°F not 41°F A change of 10°C = 10 × 1.8 = 18°F not 50°F
The 32 exists to move the zero point, and a difference has no zero point to move. Adding it anyway turns a mild warm spell into a heatwave.
Kelvin, while we are here
Kelvin uses Celsius-sized degrees but starts at absolute zero, so it is a shift and no stretch: K = C + 273.15. Room temperature is 20 + 273.15 = 293.15 K. Absolute zero is 0 K, which is −273.15°C, which is −273.15 × 1.8 + 32 = −459.67°F.
Why the round trip drifts
Convert 72°F to Celsius and you get 22.2222…, with the 2 repeating forever, because 40 × 5/9 is 200/9 and ninths never terminate as decimals (the same reason 0.333… is 1/3). Write it down as 22.22 and convert back, and you do not get 72:
22.22 × 1.8 + 32 = 71.996°F not 72
Binary floating point adds its own layer. Type 36.6 * 1.8 + 32 into JavaScript or Python, which both use binary floating point, and the answer is 97.88000000000001 instead of 97.88, because 36.6 and 1.8 cannot be stored exactly in binary. That is the same fault behind 0.1 + 0.2 = 0.30000000000000004. Prism's unit converter works in exact rational arithmetic, so 72°F is held as 200/9 °C rather than a rounded decimal, and 36.6°C comes out as 97.88°F with nothing hiding in the fifteenth decimal place. For distances, the same idea applies to converting km to miles.
Or let the unit converter do the 9/5
Prism converts Celsius, Fahrenheit and Kelvin in the temperature category of its unit converter, which is free, along with length and weight. No ads, no subscription. See the app.