Audited ·Last updated 29 Jul 2026·5 citations·Tier 2·0 uses

PPM to Molarity Calculator (ppm is not mg/L)

Free ppm to molarity calculator. Convert mass-basis ppm, mg/L and mol/L using molar mass and solution density — with the ppm vs mg/L difference made explicit.

PPM to Molarity Calculator

What do you have?
Milligrams of solute per litre of solution. This is what water-quality regulations are actually written in — the EPA nitrate limit is 10 mg/L, not 10 ppm.
mg/L
Milligrams of solute per kilogram of SOLUTION. Equal to mg/L only when the solution density is exactly 1.000 kg/L, which water is not.
mg/kg
Moles of solute per litre of solution. At trace levels this number is very small — read the µmol/L output instead.
mol/L
Default 14.007 g/mol = nitrogen, the IUPAC/CIAAW 2021 conventional value for the interval [14.006, 14.008]. It is the default because the EPA nitrate limit is expressed 'as Nitrogen'. Use the molar mass of the species your result is reported AS — nitrate ion is 62.004 g/mol and gives a number 4.43 times larger.
g/mol
Numerically the same as kg/L. Default 0.99705 is pure water at 25 °C, 101.325 kPa (NIST WebBook / IAPWS-95: 997.04764 kg/m³). Density is what separates ppm from mg/L — leave it at the default only for dilute aqueous samples.
g/mL
Amount concentration
0.0007
Moles of solute per litre of solution, c = (mg/L) ÷ (1000 × molar mass). The 1000 is the milligram-to-gram conversion, not a density.
Millimolar
0.7139 mmol/L
Micromolar
713.9287 µmol/L
Parts per million (mass basis)
10.0296 mg/kg
Mass concentration
10 mg/L

Background.

This calculator converts between three concentration units that people routinely treat as interchangeable and which are not: parts per million on a mass basis, milligrams per litre, and moles per litre. Two of those conversions need information the units themselves do not carry — the solute's molar mass, and the density of the solution — so both are explicit inputs rather than hidden assumptions.

Start with the distinction the page exists for. A mass-basis ppm is milligrams of solute per kilogram of solution: a mass divided by a mass, so a dimensionless ratio. A mg/L figure is milligrams of solute per litre of solution: a mass divided by a volume, so a genuine mass concentration. These are equal only when a litre of the solution weighs exactly one kilogram, which is to say when its density is exactly 1.000 kg/L. Pure water at 25 °C is 0.99705 kg/L, so even a perfectly dilute aqueous sample has a ppm figure about 0.3 percent above its mg/L figure. For brines, acids or organic solvents the gap runs to tens of percent. The rule of thumb that ppm equals mg/L is a good approximation for cold fresh water and a bad one for anything else, and it is never an identity.

The second conversion, mass concentration to amount concentration, needs the molar mass: c in mol/L is the mg/L figure divided by a thousand times the molar mass in g/mol. Here the thousand is a milligram-to-gram conversion and nothing more; it is not a density and must not be confused with one. This is the step that turns a number about mass into a number about particles, which is what you need whenever the chemistry depends on how many things are present — reaction stoichiometry, ionic strength, equilibrium constants, toxicity at a receptor.

There is a third trap the page addresses because it is much larger than either of the first two. Regulatory limits are often expressed "as" a particular element rather than as the ion you measured. The EPA maximum contaminant level for nitrate in drinking water is 10 mg/L measured as nitrogen. That is not 10 mg/L of nitrate ion. Nitrogen has a molar mass of 14.007 g/mol and the nitrate ion has 62.004, so the same water contains 0.714 mmol/L of nitrate, which is 44.3 mg/L expressed as NO₃⁻ — a factor of 4.43. Getting the basis wrong dwarfs any error from the ppm-versus-mg/L distinction, and the calculator handles it simply by asking which species' molar mass you want to use.

One note on the units themselves. NIST Special Publication 811, section 7.10.3, states that ppm, ppb and ppt "are not acceptable for use with the SI to express the values of quantities", because they are language-dependent — a billion is not the same number everywhere — and recommends forms like mg/kg or µL/L instead. Regulators, field meters and water utilities use ppm daily regardless. This page computes the ppm figure you came for and prints the SI-compliant forms beside it rather than lecturing you or hiding either.

Finally, the scope limit, stated here rather than in a footnote: this page handles mass-basis ppm only. Volume-basis ppm (µL/L) and amount-basis ppm (µmol/mol, the usual convention for atmospheric gas concentrations) are different quantities with different numeric values, and converting an air-quality ppm with this tool will give the wrong answer.

What is ppm to molarity calculator?

Parts per million is a ratio of like quantities scaled by a million. On a mass basis — the basis used for solutions and the only one this page handles — 1 ppm means one milligram of solute per kilogram of solution, because a kilogram is a million milligrams. It is dimensionless.

Milligrams per litre is not dimensionless. It is a mass concentration, which the IUPAC Green Book denotes γ_B = m_B/V with SI unit kg m⁻³, and it depends on volume, which depends on temperature. Amount concentration, c_B = n_B/V with SI unit mol m⁻³, is the third quantity, and it counts particles rather than mass. Converting between the three requires two pieces of external information: the solution's density links the mass-per-mass and mass-per-volume forms, and the solute's molar mass links the mass forms to the amount form.

NIST Special Publication 811 addresses all three. Section 7.10.3 rules ppm, ppb and ppt out for SI use — the terms are language-dependent, since 'billion' means 10⁹ in some languages and 10¹² in others — and recommends explicit ratios such as mg/kg, µL/L or ng/kg. Section 8.6.5 defines amount-of-substance concentration and notes that 'molarity' and the symbol M are themselves obsolete. Section 8.6.7 defines mass density ρ = m/V.

In practice, the reason the distinction matters is that reading a ppm figure as a mg/L figure builds in a systematic error equal to (1 − ρ)/ρ. For fresh water at 25 °C that is +0.30 percent. For seawater at 1.025 kg/L it is −2.4 percent. For concentrated sulfuric acid at 1.84 kg/L it is −46 percent. The first is usually ignorable, the second is not, and the third would be a serious mistake.

How to use this calculator.

  1. Pick the mode matching what you actually have. A field meter or lab report labelled 'ppm' is almost always mass-basis for a liquid sample. A regulatory limit is almost always mg/L.
  2. Enter the molar mass of the species your result should be expressed AS, not necessarily the one you measured. For nitrate reported as nitrogen, use 14.007; for nitrate reported as the ion, use 62.004. The two differ by a factor of 4.43.
  3. Enter the solution density in g/mL, which is numerically the same as kg/L. The default is pure water at 25 °C. Leave it alone only for dilute aqueous samples; change it for brines, acids or non-aqueous solvents.
  4. Read the µmol/L output for trace levels. A drinking-water limit is around 10⁻⁴ mol/L and a trace metal around 10⁻⁸ mol/L; those are hard to read as decimals and easy to read in µmol/L.
  5. Compare the ppm and mg/L outputs against each other. If they differ noticeably, your density is far from 1.000 and any calculation that treated them as identical is wrong by that much.
  6. For a hardness or alkalinity figure reported 'as CaCO₃', use 100.086 g/mol — the convention expresses the result as an equivalent mass of calcium carbonate regardless of what is actually dissolved.
  7. Do not use this page for atmospheric gas concentrations. Air-quality ppm is amount-basis (µmol/mol), not mass-basis, and the conversion is different.

The formula.

γ = p · ρ c = γ ⁄ (1000 · M) p = γ ⁄ ρ

Three relations, and every mode is one of them applied in a different direction.

γ [mg/L] = p [mg/kg] × ρ [kg/L] c [mol/L] = γ [mg/L] ÷ (1000 × M [g/mol]) p [mg/kg] = γ [mg/L] ÷ ρ [kg/L]

The first and third are the same statement read forwards and backwards. A ppm figure is per kilogram of solution; a litre of that solution weighs ρ kilograms; so a litre contains p × ρ milligrams. Nothing else is going on, and the only reason it is worth spelling out is how often the density is silently set to 1.

The middle relation is the one worth auditing dimensionally, because the constant looks arbitrary until you do. Divide mg/L by 1000 and you have g/L. Divide g/L by a molar mass in g/mol and the grams cancel, leaving mol/L. So the 1000 is purely the milligram-to-gram conversion. It is not a density, it is not litres per cubic metre, and it does not change if the solvent changes. A test asserts this directly: a solute of molar mass 1000 g/mol at 1000 mg/L must come out at exactly 1 mmol/L.

The direction of the ppm-versus-mg/L gap follows from the third relation and is worth committing to memory the right way round. Because p = γ ÷ ρ, a density below 1 makes the ppm figure larger than the mg/L figure, and a density above 1 makes it smaller. Water at 25 °C has ρ = 0.99705, so 10 mg/L is 10.0296 ppm — the ppm number is the bigger one. Seawater at 1.025 kg/L reverses it: 10 mg/L is 9.76 ppm.

Rounding: all arithmetic is arbitrary-precision and rounding happens once, at the moment each output is returned. The precision is deliberately magnitude-aware on this page. Values of magnitude one or more are rounded to ten decimal places, the site-wide convention. Values below one are rounded to twelve significant digits instead, because ten decimal places would leave a trace-metal molarity of 5 × 10⁻⁸ mol/L with only two significant figures and would visibly degrade a ppm → mol/L → ppm round trip. The twelve-digit floor is asserted by dedicated unit tests.

Invalid domain: a molar mass of zero or less is rejected, since the conversion divides by it. A density of zero or less is rejected for the same reason and because it has no physical meaning. Negative concentrations are rejected. Zero is legal everywhere and returns zeros, which is the correct answer for a blank.

A worked example.

Example

The US EPA's National Primary Drinking Water Regulations set the maximum contaminant level for nitrate at 10 mg/L, measured as nitrogen. Convert it to an amount concentration. Nitrogen's molar mass is 14.007 g/mol, the IUPAC/CIAAW 2021 conventional value, and the sample is essentially fresh water, so take the density as 0.99705 kg/L — water at 25 °C from the NIST WebBook. The amount concentration is c = 10 ÷ (1000 × 14.007) = 10/14007 = 7.139 29 × 10⁻⁴ mol/L, which reads much more comfortably as 0.713 93 mmol/L or 713.93 µmol/L. Two further results come out of the same fixture and both are worth carrying away. First, the ppm figure is 10 ÷ 0.99705 = 10.0296 mg/kg, not 10. The regulation is written in mg/L and repeating it as '10 ppm' overstates it by 0.30 percent — small, but not zero, and the direction is fixed: because water is less dense than 1.000 kg/L, the ppm number is always the larger one. Second, and far more important, 10 mg/L as nitrogen is not 10 mg/L of nitrate. Each nitrate ion carries exactly one nitrogen atom, so the same water holds 0.713 93 mmol/L of nitrate ion, and the nitrate ion's molar mass is 62.004 g/mol (14.007 + 3 × 15.999). Expressed as NO₃⁻ the concentration is 0.713 93 × 62.004 = 44.27 mg/L — a factor of 4.43 above the number in the regulation. If you are comparing a lab report against a limit, check which basis each one uses before you compare them at all. Getting the basis wrong is roughly fifteen times larger an error than getting the density wrong.

mass Concentration Mg Per L10
molar Mass14.007
solution Density0.997
solve FormgPerLitreToMolarity

Frequently asked questions.

Is 1 ppm the same as 1 mg/L?
Not exactly, though it is close for cold fresh water. A mass-basis ppm is one milligram of solute per kilogram of solution; mg/L is one milligram per litre of solution. They are equal only when a litre of that solution weighs exactly one kilogram, meaning a density of exactly 1.000 kg/L. Pure water is 1.000 kg/L only near 4 °C; at 25 °C it is 0.99705, so 10 mg/L is 10.0296 ppm — the ppm figure runs about 0.3 percent high. For seawater at 1.025 kg/L the error is −2.4 percent, and for concentrated sulfuric acid at 1.84 kg/L it is −46 percent. Treat the two as equal only for dilute aqueous samples where a fraction of a percent does not matter.
How do I convert ppm to molarity?
Two steps. First convert ppm to a mass concentration by multiplying by the solution density in kg/L: mg/L = ppm × ρ. Then convert the mass concentration to an amount concentration by dividing by a thousand times the molar mass in g/mol: mol/L = (mg/L) ÷ (1000 × M). The thousand is the milligram-to-gram conversion. Putting it together, mol/L = ppm × ρ ÷ (1000 × M). Worked: 250 ppm of calcium carbonate hardness in fresh water at 0.99705 kg/L, M = 100.086 g/mol, gives 250 × 0.99705 ÷ 100086 = 2.4906 × 10⁻³ mol/L, or 2.49 mmol/L.
Why does the calculator ask for the density?
Because ppm is a mass-per-mass ratio and mg/L is a mass-per-volume ratio, and the only thing that links a mass to a volume is a density. A tool that does not ask for it is silently assuming 1.000 kg/L, which is right for nothing in particular — not for pure water at any normal laboratory temperature, and badly wrong for brines, acids and organic solvents. The default here is 0.99705 g/mL, pure water at 25 °C and 101.325 kPa, taken from a NIST WebBook query returning 997.04764 kg/m³. Replace it whenever your sample is not dilute fresh water.
What does 'measured as N' or 'as CaCO₃' mean on a lab report?
It means the result has been converted to an equivalent mass of a different species from the one actually present, by convention. Nitrate is usually reported as nitrogen, so 10 mg/L as N means the nitrogen content is 10 mg/L, not the nitrate content — the nitrate ion content of the same water is 44.27 mg/L, because nitrate is 62.004 g/mol against nitrogen's 14.007 and each nitrate carries one nitrogen. Hardness and alkalinity are reported as calcium carbonate, 100.086 g/mol, whether or not any carbonate is present. To use this calculator correctly, enter the molar mass of the species the report names, not the one you imagine was dissolved. This is by far the largest error available on this page.
Can I use this for gases in air, like 400 ppm CO₂?
No. Atmospheric concentrations are conventionally amount-basis — µmol of gas per mol of air — not mass-basis, so 400 ppm CO₂ means 400 µmol/mol, not 400 mg/kg. Converting it with this page will give the wrong answer, and the difference is large: carbon dioxide's molar mass is 44.009 g/mol against air's roughly 28.96, so the mass-basis figure for 400 µmol/mol is about 608 mg/kg. The conversion for gases also needs temperature and pressure, or an equation of state, to reach a mass-per-volume figure. This page is scoped to solutions and says so in the intro rather than in this answer alone.
Why does NIST say ppm should not be used?
NIST Special Publication 811, section 7.10.3, takes the position that the terms part per million, part per billion and part per trillion, and the abbreviations ppm, ppb and ppt, 'are not acceptable for use with the SI to express the values of quantities'. The objection is that they are language-dependent — 'billion' is 10⁹ in English and 10¹² in several other languages — so the same abbreviation denotes different numbers to different readers. The recommended replacements are explicit ratios of like units: mg/kg instead of ppm for a mass fraction, µL/L for a volume fraction, µmol/mol for an amount fraction. Since ppm remains universal in field practice and in regulations, this page reports it and shows the SI forms alongside.
What is ppb, and how does it relate to these units?
On a mass basis, 1 ppb is one microgram of solute per kilogram of solution, a thousand times smaller than 1 ppm, and 1 ppt is one nanogram per kilogram. The same conversions apply with the scale factors adjusted: divide your ppb figure by 1000 to get ppm and enter it here. NIST discourages all three abbreviations for the same reason — the ambiguity of 'billion' and 'trillion' across languages is worse than that of 'million', not better. Trace metals and organic micropollutants are usually reported in µg/L rather than ppb precisely to avoid this, and µg/L relates to mg/L by a simple factor of 1000 with no density involved.

References& sources.

  1. [1]NIST Special Publication 811, 2008 edition, section 7.10.3 'ppm, ppb, and ppt': 'the language-dependent terms part per million, part per billion, and part per trillion, and their respective abbreviations "ppm," "ppb," and "ppt" (and similar terms and abbreviations), are not acceptable for use with the SI to express the values of quantities.' Sections 8.6.5 and 8.6.7 define amount-of-substance concentration c_B = n_B/V and mass density ρ = m/V respectively. Retrieved 2026-07-29.
  2. [2]U.S. Environmental Protection Agency, National Primary Drinking Water Regulations (40 CFR Part 141), Inorganic Chemicals table: the maximum contaminant level for 'Nitrate (measured as Nitrogen)' is 10 mg/L, and for fluoride 4.0 mg/L. Consulted as an authority independent of NIST; it corroborates the guidance in practice, since the limit universally quoted in conversation as '10 ppm' is written by the regulator as a mass concentration in mg/L and further qualified by its measurement basis. This is the worked example on this page. Retrieved 2026-07-29.
  3. [3]IUPAC, 'Quantities, Units and Symbols in Physical Chemistry' (Green Book), 3rd edition, 2nd printing 2012, section 2.10 composition table: 'mass concentration, (mass density)' γ_B = m_B/V with SI unit kg m⁻³, and 'amount concentration, concentration' c_B = n_B/V with SI unit mol m⁻³ — establishing that mg/L and mol/L are distinct quantities linked only through the molar mass. Retrieved 2026-07-29.
  4. [4]NIST Chemistry WebBook, SRD 69 — Thermophysical Properties of Fluid Systems (IAPWS-95 formulation, Wagner & Pruß 2002). Queried at T = 298.15 K, p = 101.325 kPa on 2026-07-29; returns a liquid-phase density of 997.04764 kg/m³ for water, the source of this page's 0.99705 g/mL default.
  5. [5]IUPAC Commission on Isotopic Abundances and Atomic Weights (CIAAW), Standard Atomic Weights 2021. Nitrogen is published as the interval [14.006, 14.008] with a conventional value of 14.007, which is this page's default; oxygen 15.999 gives M(NO₃⁻) = 62.004 g/mol and, with calcium 40.078 and carbon 12.011, M(CaCO₃) = 100.086 g/mol. Retrieved 2026-07-29.

In this category

Embed

Quanta Pro

Paid features are coming later.

  • All 682 calculators remain free
  • No billing is enabled
Coming soon