DO Saturation Calculator

Enter water temperature, salinity (or conductivity) and altitude or barometric pressure to get 100% DO saturation in mg/L, then convert a probe reading between mg/L and % saturation.

Fresh water at sea level (760 mmHg) holds 9.09 mg/L of dissolved oxygen at 100% saturation at 20 °C, 11.29 mg/L at 10 °C and 7.56 mg/L at 30 °C (USGS Benson-Krause equations).

Use the DO Saturation Calculator

Water and reading inputs

Supported range: 0–40°C (32–104°F).

0 = freshwater; typical seawater is about 35‰.

Altitude estimates pressure. Use measured station pressure when available.

Results

Enter valid values and select Calculate.

Dissolved oxygen saturation table by temperature (mg/L)

100% saturation at 760 mmHg (sea level), Benson-Krause equations as used by USGS DOTABLES. Brackish (10‰) and seawater (35‰) columns include the salinity correction.

°C°FFresh (0‰)Brackish (10‰)Seawater (35‰)
032.014.6213.6311.45
133.814.2213.2611.15
235.613.8312.9110.88
337.413.4612.5810.61
439.213.1112.2510.35
541.012.7711.9510.11
642.812.4511.659.87
744.612.1411.379.65
846.411.8411.109.43
948.211.5610.849.22
1050.011.2910.599.02
1151.811.0310.358.83
1253.610.7810.128.65
1355.410.549.908.47
1457.210.319.698.30
1559.010.089.488.14
1660.89.879.297.98
1762.69.669.107.82
1864.49.478.927.68
1966.29.288.747.53
2068.09.098.577.40
2169.88.928.417.26
2271.68.748.257.13
2373.48.588.107.01
2475.28.427.956.89
2577.08.267.816.77
2678.88.117.676.66
2780.67.977.536.55
2882.47.837.406.44
2984.27.697.286.34
3086.07.567.156.24
3187.87.437.046.14
3289.67.306.926.04
3391.47.186.815.95
3493.27.066.705.86
3595.06.956.595.77
3696.86.846.485.68
3798.66.736.385.60
38100.46.626.285.51
39102.26.526.195.43
40104.06.416.095.35

Altitude correction for DO saturation

Standard-atmosphere pressure and the resulting fresh-water saturation. The factor is the ratio to sea level at 20 °C; it changes slightly with temperature because of water-vapour pressure.

AltitudePressure (mmHg)Factor10 °C20 °C30 °C
0 m (0 ft)7601.00011.299.097.56
250 m (800 ft)7380.97010.958.827.33
500 m (1,600 ft)7160.94110.638.557.10
750 m (2,500 ft)6950.91210.318.296.88
1,000 m (3,300 ft)6740.88410.008.046.67
1,500 m (4,900 ft)6340.8319.407.556.25
2,000 m (6,600 ft)5960.7808.837.095.86
2,500 m (8,200 ft)5600.7318.296.655.49
3,000 m (9,800 ft)5260.6857.776.235.13

Method and sources

Fresh-water solubility, the salinity factor and the non-ideal pressure factor (vapour pressure u and virial term θ) follow the Benson-Krause equations given in USGS Office of Water Quality Technical Memorandum 2011.03, the basis of USGS DOTABLES. The Garcia-Gordon option uses the 1992 Benson-Krause-data fit with the same pressure factor. Conductivity is converted with S = 5.572×10⁻⁴·SC + 2.02×10⁻⁹·SC². Units: 1 mg/L O₂ = 31.25 µmol/L = 0.700 mL/L (1.42905 mg/mL).

Quick answer

Fresh water at sea level (760 mmHg) holds 9.09 mg/L of dissolved oxygen at 100% saturation at 20 °C, 11.29 mg/L at 10 °C and 7.56 mg/L at 30 °C (USGS Benson-Krause equations). Percent saturation = measured DO ÷ saturation DO × 100, so 7.6 mg/L at 13 °C is 7.6 ÷ 10.54 × 100 = 72%. Seawater (35‰) holds about 19% less oxygen, and every 1,000 m of altitude lowers saturation by about 12%.

Examples

WaterTemperaturePressure100% saturation
Fresh (0‰)0 °C760 mmHg (sea level)14.62 mg/L
Fresh (0‰)20 °C760 mmHg (sea level)9.09 mg/L
Fresh (0‰)25 °C760 mmHg (sea level)8.26 mg/L
Fresh (0‰)20 °C1,500 m altitude (≈634 mmHg)7.55 mg/L
Seawater (35‰)20 °C760 mmHg (sea level)7.40 mg/L

Enter your water temperature, salinity and pressure above, then type a probe reading to convert it.

Summary

Dissolved oxygen (DO) saturation is the most oxygen water can hold in equilibrium with air. It falls as water gets warmer, saltier or the air pressure drops. This calculator uses the Benson and Krause equations adopted by USGS DOTABLES and Standard Methods (or, if you prefer, the Garcia and Gordon 1992 fit) with the full non-ideal pressure correction, so its numbers match the USGS tables. Enter temperature in °C or °F, salinity in ‰ or specific conductance in µS/cm, and altitude or measured barometric pressure to get saturation in mg/L, µmol/L and mL/L, then convert a probe reading between mg/L and percent saturation. A temperature table and an altitude correction table are printed below the tool.

How it works

  1. Temperature is converted to °C (valid 0–40 °C). Salinity is entered in ‰, or estimated from specific conductance at 25 °C with the USGS formula S = 5.572×10⁻⁴·SC + 2.02×10⁻⁹·SC².
  2. The fresh-water solubility at 1 atm comes from Benson & Krause (1980): ln DO = −139.34411 + 1.575701×10⁵/T − 6.642308×10⁷/T² + 1.243800×10¹⁰/T³ − 8.621949×10¹¹/T⁴ (T in kelvin). The Garcia & Gordon (1992) option uses their scaled-temperature polynomial instead.
  3. The salinity factor Fs = exp[−S(0.017674 − 10.754/T + 2140.7/T²)] (Benson & Krause) lowers solubility in brackish water and seawater.
  4. The pressure factor Fp = (P − u)(1 − θP) ÷ [(1 − u)(1 − θ)] uses pressure P in atm, water-vapour pressure u and the oxygen virial term θ, as in USGS Technical Memorandum 2011.03. Altitude mode estimates P from the standard atmosphere.
  5. Saturation DO = DO₀ × Fs × Fp. A reading in mg/L is divided by it for % saturation; a % reading is multiplied by it for mg/L.

Use cases

  • Convert a dissolved-oxygen probe reading from mg/L to percent saturation, or from % saturation to mg/L.
  • Look up the 100% saturation value to check or calibrate a DO meter at the current temperature and pressure.
  • Correct saturation for altitude when sampling mountain streams and lakes.
  • Estimate DO saturation in brackish water or seawater from salinity or conductivity.
  • Compare aquaculture or aquarium oxygen levels against saturation at different temperatures.
  • Teach why warm water holds less oxygen with the temperature table.

Frequently Asked Questions

Last updated: 2026-10-10 · Reviewed by Nham Vu