Concentration Unit Converter for Minerals and Water Analyses

mg/L ↔︎ mmol/L ↔︎ meq/L ↔︎ mg/L as CaCO₃, from a chemical formula you type — including hydrated minerals, so a dissolved mass converts straight into the ions it releases.

Chemistry
Free concentration unit converter for water chemistry. Type any mineral or salt formula to get molar mass, then convert mg/L to mmol/L, meq/L and mg/L as CaCO3, with the element-by-element breakdown of what dissolution releases.
Published

August 10, 2026

✓ Reviewed by a hydrogeologist (Ph.D.) Hydrated mineral formulas supported Density-limit check on mg/L ≈ ppm Sources: IUPAC 2021 atomic weights · Hem 1985 · APHA 2017

What to enter for what you want

Type a formula, give a concentration, and every other way of stating that concentration appears at once. Solve for decides only which of the two concentration boxes is treated as the unknown; everything else is computed regardless.

To find Enter Read it in
mmol/L from a laboratory report in mg/L Formula, mass concentration Headline (solve for molar)
mg/L needed to make up a standard Formula, molar concentration Headline (solve for mass)
meq/L for a charge balance Add the charge per formula unit Milliequivalents
Hardness or alkalinity as CaCO₃ Same, with the right charge mg/L as CaCO₃
What a dissolving mineral releases Mineral formula, its concentration Element breakdown table
Molar mass alone Formula only Molar mass

The charge box affects only the two equivalent-based outputs. Molar mass, the element breakdown and the two concentration boxes do not depend on it, so an uncertain charge never contaminates the rest of the conversion.

The groundwater question it answers

A water analysis arrives as a column of milligrams per litre. Nothing in that column is directly comparable to anything else in it: 100 mg/L of sulphate and 100 mg/L of calcium are not the same amount of anything. Converting to moles makes them comparable as particles, and converting to equivalents makes them comparable as charge — which is the only form in which a water analysis can be checked for internal consistency at all.

The step after that is the one this tool is really built for. Groundwater chemistry is largely the record of which minerals have dissolved along a flow path, and the stoichiometry of a mineral formula converts a concentration into a quantity of rock:

n_{\text{mineral}} = \frac{C_{\text{ion}}}{M_{\text{ion}}} \cdot \frac{1}{\nu}

where \nu is the number of moles of that ion released per mole of mineral. A water carrying 480 mg/L of sulphate in a gypsum-bearing formation has, if gypsum is the only sulphate source, dissolved about 0.86 g of gypsum per litre of water — and must therefore have gained roughly 200 mg/L of calcium in the process. If the measured calcium is far from that, something else is happening: cation exchange, calcite precipitation, or a second sulphate source. That comparison is the entire logic of inverse geochemical modelling, and it begins with a unit conversion.

Hydrated minerals are where hand conversions go wrong most often, which is why the parser here handles them explicitly. Gypsum is CaSO₄·2H₂O, and the two waters of crystallisation are 21 % of its mass. Using the anhydrous mass of 136.14 g/mol instead of 172.17 g/mol under-states the dissolved mineral by more than a fifth.

What the conversions say

From mass to moles

c\ [\text{mmol L}^{-1}] = \frac{C\ [\text{mg L}^{-1}]}{M\ [\text{g mol}^{-1}]}

The units work out because milligrams per gram and millimoles per mole carry the same factor of a thousand, which cancels. This is the one conversion that is exact, in the sense that it involves nothing but the periodic table.

From moles to equivalents

c\ [\text{meq L}^{-1}] = c\ [\text{mmol L}^{-1}] \times z

z is the charge carried per formula unit: 2 for Ca²⁺ and SO₄²⁻, 1 for Na⁺, HCO₃⁻ and Cl⁻, 3 for Al³⁺. For a neutral mineral it is the charge released on dissolution — 2 for calcite, which yields Ca²⁺ and CO₃²⁻, and 4 for dolomite, which yields two divalent cations. Equivalents are what make the charge-balance check possible, because charge is conserved when a mineral dissolves and mass is not.

“As CaCO₃”, the convention that confuses everyone

Water hardness and alkalinity are conventionally reported not as themselves but as the mass of calcium carbonate that would carry the same charge. The conversion is a consequence of calcite’s equivalent mass:

C\ [\text{mg L}^{-1}\text{ as CaCO}_3] = c\ [\text{meq L}^{-1}] \times \frac{M_{\text{CaCO}_3}}{2} = c \times 50.04

So 2.0 meq/L of hardness is 100 mg/L as CaCO₃ whether the hardness came from calcium, magnesium, or a mixture. This is why two laboratories can report the “same” hardness with entirely different calcium numbers, and why an alkalinity of 200 mg/L as CaCO₃ means 4.0 meq/L of bicarbonate — that is, 244 mg/L of actual HCO₃⁻.

The variables

Symbol Quantity SI unit Note
C Mass concentration kg m⁻³ 1 mg/L = 1 g/m³ = 10⁻³ kg/m³
c Molar concentration mol m⁻³ 1 mmol/L = 1 mol/m³ exactly
M Molar mass g mol⁻¹ From the formula and atomic weights
z Charge per formula unit Equivalents released per mole
M/z Equivalent mass g eq⁻¹ Mass carrying one mole of charge

Formulas the parser accepts

Written as Read as Example
Element symbols with counts The obvious CaCO3, SiO2
Nested parentheses Multiplied through CaMg(CO3)2, Ca(OH)2
Water of crystallisation Hydrate expanded CaSO4·2H2O, MgSO4*7H2O
A bare ion, charge omitted The neutral formula mass SO4, HCO3, Ca

Charges are not written into the formula — enter them in the charge box instead. SO4 returns the mass of the sulphate group, 96.06 g/mol, which is what a laboratory means when it reports sulphate in mg/L.

Solid-solution notation such as (Mg,Fe)2SiO4 is rejected rather than guessed at. An olivine of unstated composition has no single molar mass, and a converter that silently took the magnesium end-member would be inventing a number. Enter the end-member you mean, Mg2SiO4 or Fe2SiO4, or the actual composition.

When it breaks down

mg/L stops equalling ppm when the solution stops weighing 1.000 kg per litre. Milligrams per litre is mass per unit volume; parts per million is mass per unit mass. They coincide only while the density of the solution is 1.000 kg/L, which holds to within 0.1 % for fresh water and fails progressively as salinity rises. At seawater salinity the density is about 1.025 kg/L, so a value in mg/L is about 2.5 % larger than the same quantity in ppm. The verdict line watches the total concentration and says which regime you are in.

The same divergence affects molarity versus molality. Concentrations in mol/L are temperature-dependent, because the volume of the solution expands on warming while its mass does not. For brines, for geothermal waters, and for anything that will enter a Pitzer-model speciation calculation, molality (mol per kg of water) is the correct quantity and this converter does not produce it.

Atomic weights are conventional values for terrestrial material. They carry the uncertainty of natural isotopic variation, which is negligible for water chemistry but not for isotope work. Do not use these masses to convert isotope-specific concentrations.

Worked example

Problem. A water from a gypsum-bearing formation reports SO₄ = 480 mg/L. How much gypsum has dissolved, how much calcium should accompany it, and what is the sulphate in the units a charge balance needs?

  1. Enter SO4, mass concentration 480 mg/L, charge 2.
  2. Molar mass of SO₄: 32.06 + 4 × 15.999 = 96.056 g/mol
  3. Molar concentration: 480 / 96.056 = 4.997 mmol/L
  4. Equivalents: 4.997 × 2 = 9.994 meq/L, and as calcium carbonate 9.994 × 50.043 = 500.1 mg/L as CaCO₃
  5. Now enter CaSO4·2H2O with molar concentration 4.997 mmol/L — one mole of gypsum per mole of sulphate. The mass box gives 860.3 mg/L of gypsum dissolved, and the breakdown table gives the calcium that came with it: 200.3 mg/L

If the analysis reports calcium near 200 mg/L, gypsum dissolution explains the water. If it reports 120 mg/L, roughly 80 mg/L of calcium has gone somewhere — most likely exchanged for sodium on clays, or precipitated as calcite. The gap is the finding, and it only became visible after the units were made comparable. Note that step 4 and step 5 use the same 4.997 mmol/L: moles are the currency in which stoichiometry is written, which is why the conversion has to come first.

Frequently asked

Why does the calculator not deduce the charge from the formula?

Because it cannot be done reliably from a formula string. Iron may be Fe²⁺ or Fe³⁺, sulphur ranges from S²⁻ to S⁶⁺, and nothing in FeSO4 announces which. Guessing would produce a plausible, wrong meq/L that then propagates into a charge balance. Entering the charge takes one keystroke and keeps the assumption visible.

What charge should I use for a mineral rather than an ion?

The total positive charge released per formula unit: 2 for calcite (CaCO₃) and gypsum (CaSO₄·2H₂O), 4 for dolomite (CaMg(CO₃)₂), 1 for halite (NaCl). If you are converting a mineral mass rather than balancing charge, leave it at any value and ignore the two equivalent outputs.

Is 1 mmol/L really exactly 1 mol/m³?

Yes, and it is the one piece of luck in this subject. A cubic metre is a thousand litres and a mole is a thousand millimoles, so the two factors cancel exactly. The calculator works internally in mol/m³ for that reason.

My laboratory reports nitrate “as N”. How do I convert it?

Enter N for the as-N value and NO3 for the as-nitrate value; the ratio of the two molar masses, 62.004 / 14.007 = 4.427, is the conversion factor. A nitrate of 10 mg/L as N is 44.3 mg/L as NO₃ — the same water, and the difference between passing and failing a drinking-water standard if the basis is not stated.

Read further

PHREEQC from Scratch #2: Analyzing Seawater with Speciation takes an analysis in exactly these units and computes what the ions are actually doing in solution — the step immediately after this one.

References

  1. Hem, J.D. (1985) Study and Interpretation of the Chemical Characteristics of Natural Water, 3rd ed. U.S. Geological Survey Water-Supply Paper 2254. Chapter 3.
  2. Appelo, C.A.J. & Postma, D. (2005) Geochemistry, Groundwater and Pollution, 2nd ed. Balkema, Leiden. Chapter 1.
  3. APHA/AWWA/WEF (2017) Standard Methods for the Examination of Water and Wastewater, 23rd ed. Sections 1030 and 2340 (hardness as CaCO₃).
  4. Prohaska, T. et al. (2022) Standard atomic weights of the elements 2021 (IUPAC Technical Report). Pure and Applied Chemistry 94, 573–600.

HY

Reviewed by Heejun Yang, Ph.D.

Hydrogeologist working on groundwater time-series analysis and water–rock interaction modelling. Equations, unit conversions, and reference values on this page were checked against the primary sources listed above.