What it does
The molar mass of a compound is the mass of one mole of it, in grams per mole. You need it to turn grams into moles for stoichiometry, molarity and yield problems. This calculator reads the formula you type, counts every atom (including atoms inside brackets and water in hydrates), and adds up their standard atomic weights. It also shows what share of the mass each element contributes, which is the percent composition.
How it's calculated
Mass % of an element = its contribution ÷ molar mass × 100
The atomic weights are the abridged standard atomic weights published by IUPAC's Commission on Isotopic Abundances and Atomic Weights (CIAAW), 2024 version. They're given to five significant figures where possible. Some elements, like lithium, sulfur, argon and lead, vary in nature depending on where the sample came from, so their values carry a larger uncertainty. The calculator adds those uncertainties up so you can see how many decimals are meaningful.
Reading formulas
- Brackets: in Ca(OH)2 the 2 applies to everything inside, so it's 1 Ca, 2 O and 2 H.
- Hydrates: CuSO4·5H2O, CuSO4*5H2O and CuSO4.5H2O all mean one CuSO4 plus five water molecules.
- Charges: SO4^2- is read as SO4. Electrons weigh so little they don't change the answer at this precision.
Worked example: copper(II) sulfate pentahydrate
CuSO4·5H2O has 1 Cu, 1 S, 4 + 5 = 9 O and 10 H.
| Element | Atoms × weight | g/mol | Mass % |
|---|---|---|---|
| Cu | 1 × 63.546 | 63.546 | 25.451% |
| S | 1 × 32.06 | 32.06 | 12.841% |
| O | 9 × 15.999 | 143.991 | 57.671% |
| H | 10 × 1.0080 | 10.08 | 4.037% |
| Total | 249.677 | 100% |
Sulfur's uncertainty (±0.02) is the largest here, so 249.68 g/mol is a sensible value to quote.
Limitations
- Radioactive elements with no stable isotopes, such as technetium, promethium, polonium and everything past uranium, have no standard atomic weight. Their mass depends on the isotope, so the calculator won't guess.
- Isotope-labeled compounds (like D2O or 13C-glucose) need isotope masses, not standard atomic weights.
- Fractional formulas such as Fe0.95O can't be typed, because the dot is read as a hydrate separator.