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

CelsiusFahrenheitWhat it is
−40−40The one point where the scales agree
−1014A cold winter day
032Water freezes
1050Where the shortcut is exact
1559
2068Room temperature
2577
3086A hot day
3798.6Body temperature
40104
100212Water boils (at sea level)
180356Moderate oven
200392Hot oven
220428Very 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.

Prism Calculator icon

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.