Converters

Temperature Scales: Celsius, Fahrenheit, and Kelvin

Understanding the three main temperature scales, their origins, how to convert between them, and when to use each one.

HandyUtils December 24, 2025 6 min read

Three countries use Fahrenheit for everyday temperatures: the United States, Liberia, and Myanmar. The rest of the world uses Celsius. And scientists everywhere use Kelvin. Here's why, and how to convert between them.

The Three Scales

Celsius (°C)

The metric system's temperature scale, based on water:

  • 0°C: Water freezes
  • 100°C: Water boils (at sea level)
  • Also known as Centigrade (100 degrees between freezing and boiling)

Fahrenheit (°F)

The traditional US scale with a less intuitive origin:

  • 32°F: Water freezes
  • 212°F: Water boils
  • Originally based on the coldest temperature Fahrenheit could achieve (0°F) and human body temperature (96°F, later refined to 98.6°F)

Kelvin (K)

The absolute scale for science:

  • 0 K: Absolute zero (coldest possible temperature)
  • 273.15 K: Water freezes
  • 373.15 K: Water boils
  • Note: No degree symbol—it's just "K", not "°K"

Conversion Formulas

Celsius ↔ Fahrenheit

// Celsius to Fahrenheit
const cToF = (c) => (c * 9/5) + 32;

// Fahrenheit to Celsius
const fToC = (f) => (f - 32) * 5/9;

The formula explained:

  • Fahrenheit has 180 degrees between freezing (32) and boiling (212)
  • Celsius has 100 degrees in the same range
  • Ratio: 180/100 = 9/5
  • Offset: 32°F = 0°C

Celsius ↔ Kelvin

// Celsius to Kelvin
const cToK = (c) => c + 273.15;

// Kelvin to Celsius
const kToC = (k) => k - 273.15;

Simple offset—same scale size, different zero point.

Fahrenheit ↔ Kelvin

// Fahrenheit to Kelvin
const fToK = (f) => (f - 32) * 5/9 + 273.15;

// Kelvin to Fahrenheit
const kToF = (k) => (k - 273.15) * 9/5 + 32;

Just combine the two conversions.

Quick Reference Table

Description °C °F K
Absolute zero -273.15 -459.67 0
Coldest on Earth (recorded) -89.2 -128.6 184
Water freezes 0 32 273.15
Cold day 10 50 283.15
Room temperature 20-22 68-72 293-295
Warm day 25 77 298.15
Body temperature 37 98.6 310.15
Hot day 38 100 311.15
Hottest on Earth (recorded) 56.7 134 329.85
Water boils 100 212 373.15

Where They Meet

There's one temperature where Celsius and Fahrenheit show the same number:

x = (x × 9/5) + 32
x = 1.8x + 32
-0.8x = 32
x = -40

Answer: -40°C = -40°F

This is a useful fact to remember—at -40, both scales agree!

Mental Math Shortcuts

Celsius to Fahrenheit (approximate)

Double and add 30:

15°C → 15 × 2 + 30 = 60°F (actual: 59°F)
20°C → 20 × 2 + 30 = 70°F (actual: 68°F)
25°C → 25 × 2 + 30 = 80°F (actual: 77°F)
30°C → 30 × 2 + 30 = 90°F (actual: 86°F)

Works reasonably well for common weather temperatures.

Fahrenheit to Celsius (approximate)

Subtract 30, then halve:

68°F → (68 - 30) / 2 = 19°C (actual: 20°C)
86°F → (86 - 30) / 2 = 28°C (actual: 30°C)
50°F → (50 - 30) / 2 = 10°C (actual: 10°C)

Quick Landmarks

Memorize these anchor points:

  • 0°C = 32°F (freezing)
  • 10°C = 50°F (cool)
  • 20°C = 68°F (room temp)
  • 30°C = 86°F (warm)
  • 40°C = 104°F (very hot)
  • 100°C = 212°F (boiling)

Each 10°C ≈ 18°F

Why These Numbers?

The Origin of Fahrenheit

Daniel Gabriel Fahrenheit (1724) based his scale on:

  • 0°F: A brine solution (water, ice, and salt)—the coldest he could reliably produce
  • 96°F: Human body temperature (he was slightly off)
  • 32°F and 212°F: Water's freezing and boiling points emerged from this scale

The seemingly random numbers make more sense knowing this history.

The Origin of Celsius

Anders Celsius (1742) designed a more logical scale:

  • 0: Water freezes
  • 100: Water boils
  • Originally inverted (100 = freezing, 0 = boiling), later flipped

The Origin of Kelvin

Lord Kelvin (1848) created an absolute scale:

  • 0 K: Absolute zero—where molecular motion stops
  • Based on thermodynamic principles
  • Each kelvin equals one Celsius degree
  • Used in science because negative temperatures become unnecessary

When to Use Each Scale

Celsius

  • ✅ Weather forecasts (most countries)
  • ✅ Cooking (most recipes worldwide)
  • ✅ Science (along with Kelvin)
  • ✅ International communication

Fahrenheit

  • ✅ Weather in the US
  • ✅ Cooking (US recipes)
  • ✅ Some argue it's better for weather because:
    • 0-100°F roughly spans human-comfortable outdoor temperatures
    • More granularity without decimals

Kelvin

  • ✅ Scientific calculations
  • ✅ Thermodynamics
  • ✅ Astrophysics (color temperature of stars)
  • ✅ When ratios matter (double kelvin = double thermal energy)
  • ❌ Never for everyday use

Programming Examples

Complete Temperature Converter

const Temperature = {
    // Celsius conversions
    celsiusToFahrenheit: (c) => (c * 9/5) + 32,
    celsiusToKelvin: (c) => c + 273.15,
    
    // Fahrenheit conversions
    fahrenheitToCelsius: (f) => (f - 32) * 5/9,
    fahrenheitToKelvin: (f) => (f - 32) * 5/9 + 273.15,
    
    // Kelvin conversions
    kelvinToCelsius: (k) => k - 273.15,
    kelvinToFahrenheit: (k) => (k - 273.15) * 9/5 + 32,
    
    // Format with unit
    format: (value, unit, decimals = 1) => {
        return `${value.toFixed(decimals)}°${unit}`;
    }
};

// Usage
console.log(Temperature.celsiusToFahrenheit(20));  // 68
console.log(Temperature.format(68, 'F'));          // "68.0°F"

Python Version

class Temperature:
    @staticmethod
    def c_to_f(celsius):
        return (celsius * 9/5) + 32
    
    @staticmethod
    def f_to_c(fahrenheit):
        return (fahrenheit - 32) * 5/9
    
    @staticmethod
    def c_to_k(celsius):
        return celsius + 273.15
    
    @staticmethod
    def k_to_c(kelvin):
        return kelvin - 273.15
    
    @staticmethod
    def f_to_k(fahrenheit):
        return (fahrenheit - 32) * 5/9 + 273.15
    
    @staticmethod
    def k_to_f(kelvin):
        return (kelvin - 273.15) * 9/5 + 32

# Usage
print(Temperature.c_to_f(20))  # 68.0

C# Version

public static class Temperature
{
    public static double CelsiusToFahrenheit(double c) => (c * 9.0 / 5.0) + 32;
    public static double FahrenheitToCelsius(double f) => (f - 32) * 5.0 / 9.0;
    public static double CelsiusToKelvin(double c) => c + 273.15;
    public static double KelvinToCelsius(double k) => k - 273.15;
}

Interesting Temperature Facts

  • Coldest temperature in the universe: About 1 K (in labs, even colder: nanokelvins)
  • Hottest temperature ever achieved: ~5.5 trillion K (in particle accelerators)
  • Surface of the Sun: ~5,778 K (5,505°C / 9,941°F)
  • Human survival range: Roughly -40°C to 60°C with proper conditions
  • Comfortable indoor range: 20-22°C (68-72°F)

Summary

Scale Zero Point Boiling Point Best For
Celsius Water freezes 100°C Everyday (world)
Fahrenheit Salt/ice bath 212°F Everyday (US)
Kelvin Absolute zero 373.15 K Science

Key Conversion: °F = (°C × 9/5) + 32

Need to convert temperatures quickly? Try our Temperature Converter!

Related Topics
temperature celsius fahrenheit kelvin conversion thermometer weather
Share this article

Continue Reading

Converters
Metric vs Imperial: A Developer's Quick Reference

A practical guide to metric and imperial unit conversions, with formulas and code examples for common measurements.

Converters
Understanding Foreign Exchange Rates: A Practical Guide

How currency exchange rates work: spot rates vs transfer rates, what affects exchange rates, hidden fees to watch for, and getting the best rate when sending money abroad.

Data & Files
Understanding File Sizes: Bits, Bytes, and Beyond

A complete guide to digital storage units from bits to terabytes, including the confusing differences between MB and MiB.