Audited ·Last updated 29 Jul 2026·6 citations·Tier 1·0 uses

Solubility Product (Ksp) Calculator

Convert Ksp to molar solubility for any AxBy salt and back again, with ion concentrations, mg/L, and the USGS-sourced worked example for fluorite.

Solubility Product (Ksp) Calculator

What are you solving for?
Dimensionless, at 25 °C and zero ionic strength. Entered as a base-10 logarithm because that is how geochemical databases tabulate it and because Ksp itself spans 60 orders of magnitude. If your book prints Ksp = 1.8 × 10⁻¹⁰, enter −9.74. Default −10.6 = fluorite CaF₂ (USGS WATEQ4F, OFR 91-183, entry 62, ±0.02); the USGS PHREEQC 3 database independently lists −10.61.
A whole number from 1 to 6. For CaF₂ → Ca²⁺ + 2F⁻ this is 1. For Ag₂CrO₄ → 2Ag⁺ + CrO₄²⁻ it is 2. This is the subscript in the formula, not the ionic charge.
A whole number from 1 to 6. For CaF₂ this is 2. Getting x and y right matters more than getting Ksp right: the same Ksp gives a solubility 29 times larger for an AB₂ salt than for an AB salt.
Micromoles of salt dissolved per litre of saturated solution. Used only when solving for Ksp. 1 µmol/L = 10⁻⁶ mol/L; to convert from mg/L, divide by the molar mass and multiply by 1000. Must be greater than zero.
µmol/L
Only used to convert the answer into mg/L. Default 78.0748 g/mol = CaF₂, from the CIAAW/IUPAC standard atomic weights (2021 table with 2024 revisions): Ca 40.078(4), F 18.998403162(5).
g/mol
Molar solubility s
1.8449 × 10⁻⁴
Moles of the salt that dissolve per litre of saturated solution, mol/L, in scientific notation. This is the amount of FORMULA UNITS dissolved, not the concentration of either ion.
Molar solubility
184.493 µmol/L
Mass solubility
14.4043 mg/L
Ksp
2.5119 × 10⁻¹¹
log₁₀ Ksp
-10.6
Saturated cation concentration
184.493 µmol/L
Saturated anion concentration
368.9861 µmol/L

Background.

This solubility product calculator converts between Ksp and molar solubility for a salt of any AₓB_y stoichiometry dissolving in pure water at 25 °C, and runs the same relation backwards to determine Ksp from a solubility you measured. It reports the molar solubility in three forms — mol/L, µmol/L and mg/L — plus the individual saturated ion concentrations, because the step students most often lose marks on is forgetting that the anion concentration of CaF₂ is twice the molar solubility, not equal to it.

The relation itself is short. For AₓB_y(s) ⇌ x Aⁿ⁺ + y Bᵐ⁻, dissolving s moles per litre puts x·s of the cation and y·s of the anion into solution, so Ksp = (x·s)ˣ · (y·s)ʸ = xˣ · yʸ · s^(x+y), and inverting gives s = (Ksp / (xˣ·yʸ))^(1/(x+y)). The solid does not appear anywhere in that expression: the activity of a pure condensed phase is 1 by convention, which is a definition rather than an approximation, and is the single most common error on this topic.

The xˣyʸ factor is the reason Ksp values cannot be compared across salts of different shapes. A 1:1 salt with Ksp = 10⁻¹⁰ has a molar solubility of 1.00 × 10⁻⁵ mol/L. An AB₂ salt with exactly the same Ksp has a molar solubility of 2.92 × 10⁻⁴ mol/L — twenty-nine times more soluble on an identical number. Anyone ranking salts by Ksp alone, without checking their stoichiometry, will get the ordering wrong.

The default is fluorite, CaF₂, taken from the U.S. Geological Survey's WATEQ4F thermodynamic database (Ball and Nordstrom, USGS Open-File Report 91-183, 1991, entry 62: log K = −10.6 ± 0.02). It is used rather than a 1:1 salt precisely because it exercises the xˣyʸ factor. With log₁₀Ksp = −10.6 the calculator returns s = 1.8449 × 10⁻⁴ mol/L, which is 14.40 mg/L of CaF₂ and 7.01 mg/L of fluoride — the right magnitude against the handbook figure of roughly 16 mg/L, and against real fluorite-saturated, calcium-poor groundwater, which typically carries 7 to 8 mg/L of fluoride.

Now the limits, which belong here rather than in a collapsed FAQ, because they change how the answer should be read. This calculation assumes an ideal dilute solution: activity coefficients of one, no ion pairing, no hydrolysis of the anion, no complexation, and no common ion already present. Those assumptions fail hardest for salts of weak-acid anions. Carbonates, sulfides and phosphates all have anions that react with water, which pulls the equilibrium over and makes the real solubility far higher than the Ksp arithmetic suggests; fluoride does the same below about pH 4, where F⁻ + H⁺ ⇌ HF removes free fluoride from solution. The failure also shows up for moderately soluble salts where the dissolved ions themselves raise the ionic strength. USGS's own PHREEQC program puts gypsum's solubility in pure water at 15.64 mmol/kgw once ion pairing and activity corrections are included, while the ideal Ksp arithmetic on its tabulated log K of −4.58 gives 5.13 mmol/L — a factor of three. Treat the number this page gives you as a lower bound and a teaching answer, not a prediction of what a beaker will do.

Two further points of convention. Ksp is temperature-dependent, and every value here is a 25 °C value: WATEQ4F's own expression for fluorite gives log K = −10.60 at 25 °C but −10.37 at 50 °C, a 70 % change in Ksp. And Ksp values differ between compilations. Fluorite is −10.6 in WATEQ4F and −10.61 in the database shipped with PHREEQC 3, which rests on entirely different source literature; barite is −9.97 in one and −9.88 in the other. That is why no table is baked into this page. Enter the Ksp from the source your work is being marked or reviewed against, and record which one it was. Fortunately, the cube and square roots damp the disagreement: fluorite's 2.3 % spread in Ksp becomes only 0.77 % in solubility.

What is solubility product (ksp) calculator?

The solubility product Ksp is the equilibrium constant for a sparingly soluble ionic solid dissolving into its ions. The IUPAC Gold Book (term S05742) defines it as 'the product of the ion activities raised to appropriate powers of an ionic solute in its saturated solution expressed with due reference to the dissociation equilibria involved and the ions present'. In the dilute limit, activities are replaced by molar concentrations divided by the standard concentration c° = 1 mol/L, which is what makes Ksp a dimensionless number regardless of how many ions the salt releases.

The solid is deliberately absent from the expression. By thermodynamic convention the activity of a pure condensed phase at its standard state is exactly 1, so it contributes a factor of one and drops out. This is why adding more solid to a saturated solution changes nothing, and why Ksp is a property of the salt and the temperature alone.

Molar solubility, written s, is a different quantity from Ksp and the two are frequently confused. Molar solubility is the number of moles of the SALT that dissolve per litre of saturated solution. Ksp is a product of ION concentrations. They are related through the stoichiometry: dissolving s mol/L of AₓB_y releases x·s of the cation and y·s of the anion, so Ksp = xˣ·yʸ·s^(x+y). For CaF₂ that is Ksp = 4s³, not s², and not s³.

The practical use of Ksp is to predict whether a precipitate will form. Compute the reaction quotient Q with the actual ion concentrations in your solution — same expression as Ksp, but with whatever concentrations you actually have — and compare. If Q < Ksp the solution is undersaturated and more solid will dissolve. If Q = Ksp it is exactly saturated. If Q > Ksp it is supersaturated and, kinetics permitting, solid will precipitate until Q falls back to Ksp. In geochemistry the same comparison is expressed as a saturation index, SI = log₁₀(Q/Ksp), which is positive for supersaturation and negative for undersaturation.

What Ksp does not tell you is how fast anything happens. Supersaturated solutions can persist for long periods without precipitating, because nucleation has its own energy barrier; barite scale and calcite scale in pipework are the industrial examples. Ksp is a statement about the final equilibrium state, not about the route to it or the time taken.

How to use this calculator.

  1. Write the dissolution equation and read the subscripts off it. CaF₂ → Ca²⁺ + 2F⁻ gives x = 1 and y = 2. Ag₂CrO₄ → 2Ag⁺ + CrO₄²⁻ gives x = 2 and y = 1. Ca₃(PO₄)₂ gives x = 3 and y = 2. These are formula subscripts, not ionic charges.
  2. Choose the direction. 'Molar solubility, from Ksp' is the prediction; 'Ksp, from a measured solubility' is the laboratory determination.
  3. Enter log₁₀ Ksp, not Ksp. If your source prints Ksp = 1.8 × 10⁻¹⁰, take the logarithm: −9.74. Geochemical databases already tabulate the logarithm, so no conversion is needed if that is your source.
  4. Enter the molar mass if you want the mg/L output. It is used for nothing else, so leaving it at the default only affects that one line.
  5. For the reverse direction, convert your measured solubility to µmol/L first. From mg/L, divide by the molar mass in g/mol and multiply by 1000.
  6. Read the two ion concentrations, not just the solubility. For an AB₂ salt the anion concentration is twice s, and that is the number that matters if you are asking whether a water sample exceeds a concentration limit for that ion.
  7. Check your answer against a handbook solubility in g/L if one exists. If the calculator's number is far lower than the measured one, the ideal-dilute assumption has broken down — most often through hydrolysis of the anion or ion pairing.
  8. Record which compilation your Ksp came from and at what temperature. Two reputable USGS databases differ by 0.09 log unit for barite, and every value on both is a 25 °C value.

The formula.

Ksp = xˣ · yʸ · s^(x+y) ⇔ s = (Ksp / (xˣ · yʸ))^(1/(x+y))

For AₓB_y(s) ⇌ x Aⁿ⁺ + y Bᵐ⁻ dissolving into pure water with molar solubility s:

ION BOOK-KEEPING. [Aⁿ⁺] = x·s and [Bᵐ⁻] = y·s. Every formula unit that dissolves releases x cations and y anions, so the ion concentrations are multiples of s, never equal to it unless the coefficient happens to be 1.

FORWARD. Ksp = (x·s)ˣ · (y·s)ʸ = xˣ · yʸ · s^(x+y). The solid is omitted because the activity of a pure condensed phase is 1 by convention (IUPAC Gold Book, term S05742).

INVERSE. s = (Ksp / (xˣ · yʸ))^(1/(x+y)).

WORKED, fluorite CaF₂ with x = 1, y = 2 and log₁₀Ksp = −10.6 (USGS WATEQ4F entry 62). Ksp = 10^(−10.6) = 2.5119 × 10⁻¹¹. The stoichiometric factor is 1¹ · 2² = 4. So s = (2.5119 × 10⁻¹¹ / 4)^(1/3) = (6.2797 × 10⁻¹²)^(1/3) = 1.8449 × 10⁻⁴ mol/L, which is 184.49 µmol/L, or 14.404 mg/L at M = 78.0748 g/mol. Then [Ca²⁺] = 184.49 µmol/L and [F⁻] = 368.99 µmol/L, the latter being 7.010 mg/L of fluoride.

WHY THE ROOT MATTERS. The exponent 1/(x+y) is always less than one for a real salt, so uncertainty in Ksp is always damped in s. Fluorite's two USGS values, −10.6 and −10.61, differ by 2.3 % in Ksp but only 0.77 % in solubility, because s scales as the cube root. Conversely, an error in the STOICHIOMETRY is not damped at all: using x = y = 1 instead of x = 1, y = 2 at the same Ksp changes the answer by a factor of twenty-nine.

REFERENCE STATE AND CONVENTIONS. All values are at 25 °C (298.15 K), 0.1 MPa and infinite dilution, I = 0. This is a solution equilibrium, so neither STP nor SATP applies. log₁₀Ksp is used rather than pKsp because both cited USGS databases tabulate it that way; pKsp = −log₁₀Ksp. The regime is ideal-dilute: activity coefficients set to one, no ion pairing, no hydrolysis, no complexation and no common ion.

ROUNDING STAGE. Nothing is rounded at an intermediate step. All arithmetic runs in arbitrary-precision decimal and results are rounded only when returned. That final rounding uses ten decimal places, except where ten decimal places would collapse a genuinely non-zero value to zero — which happens for salts below about log₁₀Ksp = −45 — in which case twelve significant digits are used instead, so a very insoluble salt is never reported as having exactly zero solubility.

INVALID DOMAIN. Non-integer or out-of-range stoichiometric subscripts, a measured solubility of zero or less, and a molar mass of zero or less each raise an error naming the field. A log₁₀Ksp outside −60 to +5 is rejected rather than allowed to underflow the solubility to zero or overflow Ksp to infinity.

A worked example.

Example

Fluorite, CaF₂, in pure water at 25 °C. The U.S. Geological Survey's WATEQ4F thermodynamic database (Ball and Nordstrom, Open-File Report 91-183, 1991, entry 62) gives log K = −10.6 ± 0.02 for CaF₂ = Ca²⁺ + 2F⁻, so that is the input, with x = 1 and y = 2. Ksp is therefore 2.5119 × 10⁻¹¹, the stoichiometric factor xˣyʸ is 1 × 4 = 4, and the molar solubility is the cube root of 2.5119 × 10⁻¹¹ divided by 4, which is 1.8449 × 10⁻⁴ mol/L, or 184.49 µmol/L. At a molar mass of 78.0748 g/mol that is 14.404 mg/L of dissolved CaF₂. The saturated calcium concentration is 184.49 µmol/L and the fluoride concentration is twice that, 368.99 µmol/L, which converts to 7.010 mg/L of fluoride. Two independent checks: the handbook solubility of CaF₂ at 25 °C is about 16 mg/L, so the ideal calculation is low by the amount you would expect from neglected ion pairing; and real fluorite-saturated groundwater in calcium-poor aquifers carries 7 to 8 mg/L of fluoride, which brackets the calculated value. For regulatory context, the US EPA's National Primary Drinking Water Regulations set both the maximum contaminant level and its goal for fluoride at 4.0 mg/L (EPA NPDWR table, page last updated 1 December 2025), so fluorite-saturated water in a low-calcium aquifer sits above the US limit — which is a statement about a regulatory threshold, not a health assessment. Running the calculator backwards from 184.493 µmol/L with the same subscripts returns log₁₀Ksp = −10.6 exactly.

measured Solubility Micromolar184.493
log Ksp-10.6
cation Coefficient1
molar Mass78.075
anion Coefficient2
solve FormolarSolubility

Frequently asked questions.

What is the difference between Ksp and molar solubility?
Molar solubility, s, is how many moles of the salt dissolve per litre of saturated solution. Ksp is the product of the resulting ion concentrations, each raised to its stoichiometric power. They are related by Ksp = xˣ·yʸ·s^(x+y), so they only coincide numerically for a 1:1 salt at s = 1, which never happens in practice. For CaF₂, Ksp = 4s³. Quoting a Ksp when you mean a solubility, or vice versa, changes the answer by many orders of magnitude.
Why doesn't the solid appear in the Ksp expression?
Because the activity of a pure condensed phase in its standard state is exactly 1 by thermodynamic convention, so it contributes a factor of one to the equilibrium quotient and drops out. This is a definition, not an approximation. Its practical consequence is that adding more undissolved solid to a saturated solution changes nothing at all — not the ion concentrations, not Ksp, not the solubility.
Can I compare two salts' solubilities by comparing their Ksp values?
Only if they have the same stoichiometry. The xˣyʸ factor and the (x+y) root both depend on the shape of the formula. A 1:1 salt with Ksp = 10⁻¹⁰ dissolves to 1.00 × 10⁻⁵ mol/L, while an AB₂ salt with the identical Ksp dissolves to 2.92 × 10⁻⁴ mol/L — twenty-nine times more. Convert both to molar solubility first, then compare.
My calculated solubility is much lower than the handbook value. Why?
The ideal-dilute assumption has broken down, and the usual culprits are hydrolysis, ion pairing and complexation, none of which this calculation includes. If the anion is the conjugate base of a weak acid — carbonate, sulfide, phosphate, or fluoride below about pH 4 — it reacts with water, is removed from solution, and pulls the dissolution equilibrium forward, so the salt is more soluble than Ksp alone predicts. Ion pairing does the same thing: USGS's PHREEQC puts gypsum's real solubility at 15.64 mmol/kgw against the 5.13 mmol/L the ideal arithmetic gives, a factor of three, because the neutral CaSO₄ ion pair holds calcium and sulfate that the simple expression counts as free.
Does Ksp change with temperature?
Yes, often substantially, and every value on this page is a 25 °C value. WATEQ4F publishes an analytic form for fluorite, log K = 66.348 − 4298.2/T − 25.271·log₁₀T, which gives −10.60 at 25 °C and −10.37 at 50 °C — a 70 % rise in Ksp, or about 19 % in solubility. Some salts go the other way: calcium sulfate and calcium carbonate become LESS soluble as water is heated, which is exactly why scale forms in kettles and boilers. If you need a Ksp at a temperature other than 25 °C, look it up or compute it from the enthalpy of dissolution; do not assume the 25 °C value transfers.
Why do different books give different Ksp values for the same salt?
Because Ksp values are critically evaluated selections from experimental literature, and different compilations weight the underlying studies differently. Fluorite is log K = −10.6 ± 0.02 in the USGS WATEQ4F database, resting on Nordstrom and others (1990), and −10.61 in the database shipped with PHREEQC 3, resting on Strübel (1965) and Henry (2018). Barite is −9.97 in one and −9.88 in the other. This page therefore bakes in no table at all: enter the value from the source your work will be checked against. The good news is that the root damps the disagreement — fluorite's 2.3 % spread in Ksp is only 0.77 % in solubility.
How do I use Ksp to decide whether a precipitate will form?
Compute the reaction quotient Q using the actual ion concentrations in your solution, in exactly the same form as Ksp, and compare. Q < Ksp means undersaturated, so more solid dissolves. Q = Ksp means saturated. Q > Ksp means supersaturated, and solid will precipitate until Q falls back to Ksp — assuming nucleation actually occurs, which is a kinetic question Ksp cannot answer. Geochemists write the same comparison as a saturation index, SI = log₁₀(Q/Ksp), positive for supersaturation.
What happens to solubility if one of the ions is already in the water?
It falls, sometimes dramatically. That is the common ion effect, and it is not covered by this calculator, which assumes pure water. The equation stops being a simple root because the ion concentration no longer scales cleanly with s — you get (C + x·s)ˣ·(y·s)ʸ = Ksp, which needs a numerical solution. Use the common ion effect calculator for that case; it reports both the suppressed solubility and the factor by which it has been suppressed.
Does pH affect a salt's solubility?
It does whenever the anion is basic or the cation hydrolyses. Fluorite is a good example: F⁻ is the conjugate base of hydrofluoric acid, pKa around 3.2, so in acidic water a growing fraction of the dissolved fluoride is present as HF rather than F⁻, the free-fluoride term in the Ksp expression falls, and more CaF₂ dissolves to compensate. The same reasoning explains why carbonates dissolve readily in acid and why metal hydroxides have a solubility minimum at a specific pH. This calculator has no pH input and assumes the anion stays fully dissociated.
Why does the calculator use log₁₀ Ksp rather than Ksp?
Because Ksp spans about sixty orders of magnitude across common salts, from around 10⁻⁵ for calcium sulfate to below 10⁻⁵⁰ for mercury sulfide, and typing or displaying those numbers directly is error-prone. Both USGS databases cited here tabulate the base-10 logarithm for the same reason. The conversion is one step: Ksp = 1.8 × 10⁻¹⁰ becomes log₁₀Ksp = −9.74. The calculator returns Ksp itself alongside the logarithm, so nothing is hidden.

References& sources.

  1. [1]Ball, J. W.; Nordstrom, D. K. "User's Manual for WATEQ4F, with Revised Thermodynamic Data Base and Test Cases for Calculating Speciation of Major, Trace, and Redox Elements in Natural Waters." U.S. Geological Survey Open-File Report 91-183 (Menlo Park, California, 1991). Thermodynamic database entry 62: Fluorite, CaF₂ = Ca²⁺ + 2F⁻, log K = −10.6 ± 0.02, ΔH = 4.694 kcal, with the analytic form log K = 66.348 − 4298.2/T − 25.271·log₁₀T (which returns −10.5997 at 298.15 K). Entry 144: Barite, BaSO₄ = Ba²⁺ + SO₄²⁻, log K = −9.97 ± 0.02. Open access, USGS-hosted; retrieved 2026-07-29.
  2. [2]SECOND, INDEPENDENT AUTHORITY (BUILD-BRIEF §9.1). phreeqc.dat, the thermodynamic database distributed with PHREEQC version 3 (U.S. Geological Survey). PHASES block: Fluorite, CaF₂ = Ca⁺² + 2 F⁻, log_k −10.61, attributed to Strübel (1965), Neues Jahrbuch für Mineralogie Monatshefte 83–95, and Henry (2018), PhD thesis, Colorado School of Mines — a data selection resting on different source literature from WATEQ4F's, and agreeing with it inside the stated ±0.02. Same block lists Barite at −9.88, Calcite at −8.45 and Gypsum at −4.55. Open access; retrieved 2026-07-29.
  3. [3]Parkhurst, D. L.; Appelo, C. A. J. "Description of Input and Examples for PHREEQC Version 3 — A Computer Program for Speciation, Batch-Reaction, One-Dimensional Transport, and Inverse Geochemical Calculations." U.S. Geological Survey Techniques and Methods 6-A43 (2013). Source of the calcite log K = −8.48 quoted on p. 186, and of the worked example whose output states that 15.64 mmol/kgw of calcium and sulfate remain in solution at gypsum saturation — the full-speciation figure this page compares its ideal-dilute answer against. Open access, USGS-hosted; retrieved 2026-07-29.
  4. [4]IUPAC, Compendium of Chemical Terminology (the Gold Book), entry "solubility product", term identifier S05742: "the product of the ion activities raised to appropriate powers of an ionic solute in its saturated solution expressed with due reference to the dissociation equilibria involved and the ions present". Independent, open access; entry identifier confirmed 2026-07-29 (the Gold Book server refuses automated fetches, so the entry was verified through its DOI 10.1351/goldbook.S05742 and public index record).
  5. [5]Commission on Isotopic Abundances and Atomic Weights (CIAAW), IUPAC — Standard Atomic Weights, 2021 table incorporating the 2024 revisions to gadolinium, lutetium and zirconium. Ca = 40.078(4); F = 18.998403162(5); Ba = 137.327(7); S = 32.06; O = 15.999. Gives M(CaF₂) = 78.0748 g/mol and M(BaSO₄) = 233.383 g/mol. Open access; retrieved 2026-07-29.
  6. [6]U.S. Environmental Protection Agency, National Primary Drinking Water Regulations, inorganic chemicals table: fluoride MCL = 4.0 mg/L and MCLG = 4.0 mg/L. Cited only to give the fluorite worked example a regulatory reference point with a named authority and revision date; no health or clinical interpretation is offered on this page. Page last updated 1 December 2025; 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