Molecular weight vs exact mass, and how to calculate HRMS ions

Which number to weigh with, and which one to find in the spectrum

13 min

Caffeine beside the isotope pattern of its protonated ion, with the monoisotopic peak highlighted and the gap to the average mass magnified.

Caffeine has three masses, and each answers a different question. On a balance it weighs 194.19 g/mol, its average molecular weight. Its monoisotopic exact mass is 194.0804. In a positive-mode high-resolution mass spectrum it appears at m/z 195.0877, the [M+H]+[\mathrm{M+H}]^+ ion.

Use the first to make solutions, the second to identify the formula, and the third to match a peak. SketchIQ, the free chemical structure drawer by ProteinIQ, shows all of them as soon as a structure is on the canvas:

Text
Caffeine, C8H10N4O2
Molecular weight     194.19 g/mol
Exact mass           194.0804
HRMS m/z [M+H]+      195.0877
HRMS m/z [M+Na]+     217.0696
HRMS m/z [M−H]−      193.0731

The three numbers differ because carbon, hydrogen, nitrogen and oxygen each come as several isotopes, and because a mass spectrometer measures an ion rather than a neutral molecule. Below, we calculate each value by hand so you can check any calculator, including ours, and handle the cases where calculators disagree: salts, hydrates, chlorine-containing compounds and the mass of the electron.

Average molecular weight and monoisotopic mass

A sample of caffeine is a mixture of molecules. About 1.07% of carbon atoms are carbon-13, 0.364% of nitrogen is nitrogen-15, and oxygen has small fractions of oxygen-17 and oxygen-18.[1] Weigh a milligram and you weigh all of those versions together, so the molecular weight uses the standard atomic weights, which average every isotope by its natural abundance.

A mass spectrometer separates the versions instead. The molecule made only of the most abundant isotope of each element (carbon-12, hydrogen-1, nitrogen-14, oxygen-16) gives one peak, and every heavier version gives its own peak at a higher mass. IUPAC calls the mass of that lightest, most common version the monoisotopic mass. Exact mass is the broader term for any mass calculated from a specified isotopic composition, and accurate mass is the value you measure.[4]

IsotopeExact mass (u)Natural abundanceStandard atomic weight
¹H1.0078250322399.9885%1.00784 to 1.00811
²H (D)2.014101778120.0115%
¹²C12 (exact, by definition)98.93%12.0096 to 12.0116
¹³C13.003354835071.07%
¹⁴N14.0030740044399.636%14.00643 to 14.00728
¹⁶O15.9949146195799.757%15.99903 to 15.99977
²³Na22.9897692820100%22.98976928
³⁵Cl34.96885268275.76%35.446 to 35.457
³⁷Cl36.96590260224.24%

The standard atomic weights of hydrogen, carbon, nitrogen, oxygen and chlorine are intervals rather than single numbers, because their isotope ratios vary with where a sample comes from.[1] Calculators use conventional values inside each interval (12.011 for carbon, 1.008 for hydrogen), which is why molecular weights are quoted to two decimals while exact masses run to four. Sodium has a single stable isotope, so its atomic weight and exact mass are the same number.

How to calculate molecular weight

Multiply each element's count in the formula by its standard atomic weight and add the results. For caffeine, C8H10N4O2\mathrm{C_8H_{10}N_4O_2}:

Mavg=8(12.011)+10(1.008)+4(14.007)+2(15.999)=194.194≈194.19 g/mol\begin{aligned} M_\text{avg} &= 8(12.011) + 10(1.008) + 4(14.007) + 2(15.999) \\ &= 194.194 \approx 194.19\ \text{g/mol} \end{aligned}

This is the number for weighing, molarity and stoichiometry, and the one that rules of thumb such as the Lipinski rule of five use for their 500 Da cutoff. A dalton and a gram per mole have the same numerical value, so 194.19 g/mol and 194.19 Da describe the same quantity. For a protein or peptide sequence, the Protein molecular weight calculator does the same sum over residues and offers both average and monoisotopic values.

How to calculate monoisotopic exact mass

Use the same formula with the exact mass of the most abundant isotope of each element in place of the atomic weight:

M=8(12.000000)+10(1.007825)+4(14.003074)+2(15.994915)=96.000000+10.078250+56.012296+31.989830=194.080376\begin{aligned} M &= 8(12.000000) + 10(1.007825) + 4(14.003074) + 2(15.994915) \\ &= 96.000000 + 10.078250 + 56.012296 + 31.989830 \\ &= 194.080376 \end{aligned}

Rounded to four decimals that is 194.0804, the value in SketchIQ's Exact mass row. The gap to the average molecular weight, 0.11 Da here, grows with the size of the molecule because every extra carbon adds another 1.07% chance of a carbon-13. Never use the average molecular weight to look for a peak in a high-resolution spectrum; for caffeine it is already off by more than 500 ppm.

Isotope peaks: M+1, M+2 and the chlorine pattern

The heavier versions of a molecule appear as a cluster next to the monoisotopic peak. We calculated the pattern from the NIST isotope abundances.[1] For caffeine, the M+1 peak (mostly one carbon-13) is 10.3% as tall as the monoisotopic peak, and M+2 is 0.9%. With eight carbons, the carbon-13 contribution alone is about 8×1.07%≈8.6%8 \times 1.07\% \approx 8.6\%, which is a quick way to estimate carbon count from a clean spectrum.

Chlorine and bromine change the picture. Diclofenac, C14H11Cl2NO2\mathrm{C_{14}H_{11}Cl_2NO_2}, carries two chlorines, and chlorine-37 makes up 24.24% of natural chlorine. Its M+2 peak is 65.6% as tall as M, and M+4 is 11.2%. A single bromine gives an M+2 peak almost as tall as M, because bromine-79 and bromine-81 are close to 50:50.[1] In both cases the monoisotopic peak is still the lightest peak of the cluster, and that is the one the calculated [M+H]+[\mathrm{M+H}]^+ refers to.

For large molecules the monoisotopic peak stops being the tallest. The M+1 to M ratio from carbon alone is n×0.0107/0.9893n \times 0.0107 / 0.9893, which passes 1 at 93 carbons. Peptides and proteins reach that size quickly, so for them pick the peak deliberately; the Peptide mass calculator reports monoisotopic or average values for [M+H]+[\mathrm{M+H}]^+, [M+2H]2+[\mathrm{M+2H}]^{2+} and [M+3H]3+[\mathrm{M+3H}]^{3+} ions.

How to calculate [M+H]⁺, [M+Na]⁺ and [M−H]⁻

Electrospray and other soft ionization methods rarely charge the molecule itself. They add or remove a charged species, so the ion you see is the molecule plus a proton, a sodium ion or an ammonium ion in positive mode, or the molecule minus a proton in negative mode. A proton is a hydrogen atom without its electron, and a sodium ion is a sodium atom without one. The electron weighs 0.000548579909 u.[2]

For an ion with charge zz, built from the neutral molecule MM by adding or removing whole atoms:

m/z=M+Δmatoms−z me∣z∣m/z = \frac{M + \Delta m_\text{atoms} - z\,m_e}{|z|}

Here Δmatoms\Delta m_\text{atoms} is the exact mass of the atoms added (positive) or removed (negative), and mem_e is the electron mass. For a positive ion, zz electrons are missing, so their mass comes off. For a negative ion, zz is negative and the extra electrons are added.

Worked example: caffeine

With M=194.080376M = 194.080376:

[M+H]+=194.080376+1.007825−0.000549=195.087652[M+Na]+=194.080376+22.989769−0.000549=217.069596[M−H]−=194.080376−1.007825+0.000549=193.073100\begin{aligned} [\mathrm{M+H}]^+ &= 194.080376 + 1.007825 - 0.000549 = 195.087652 \\ [\mathrm{M+Na}]^+ &= 194.080376 + 22.989769 - 0.000549 = 217.069596 \\ [\mathrm{M-H}]^- &= 194.080376 - 1.007825 + 0.000549 = 193.073100 \end{aligned}

Rounded to four decimals these are 195.0877, 217.0696 and 193.0731, exactly what SketchIQ lists under HRMS m/z. Adding the hydrogen atom and subtracting the electron is the same as adding the proton mass, 1.007276 u, so [M+H]+=M+1.007276[\mathrm{M+H}]^+ = M + 1.007276 and [M−H]−=M−1.007276[\mathrm{M-H}]^- = M - 1.007276.[3] A doubly protonated ion divides by two: [M+2H]2+=(194.080376+2×1.007276)/2=98.0475[\mathrm{M+2H}]^{2+} = (194.080376 + 2 \times 1.007276)/2 = 98.0475.

Why the electron mass matters

Leave out the electron and the caffeine [M+H]+[\mathrm{M+H}]^+ comes out at 195.0882 instead of 195.0877. The difference is only 0.00055, but at m/z 195 it is a 2.8 ppm error, built into the calculation before the instrument contributes any error of its own. Ferrer and Thurman pointed out how much this matters for exact-mass work on time-of-flight instruments, where errors of a few ppm decide which formula fits.[5]

Accuracy is usually expressed in parts per million:

error (ppm)=mfound−mcalcdmcalcd×106\text{error (ppm)} = \frac{m_\text{found} - m_\text{calcd}}{m_\text{calcd}} \times 10^6

The error from the electron shrinks as mass grows (0.55 ppm at m/z 1000), but it never changes sign, so it biases every positive ion in one direction.

The Journal of Organic Chemistry asks for a found value within 0.003 m/z of the calculated value for compounds below 1000 amu, and for calculated values that include the added H or Na.[6] Its own example, [M+Na]+[\mathrm{M+Na}]^+ calcd for C13H17NO3Na\mathrm{C_{13}H_{17}NO_3Na} 258.1101, includes the electron correction; without it the value would be 258.1106.

Common adducts

The same rule gives every adduct. Each value below is what you add to the neutral monoisotopic mass MM before dividing by ∣z∣|z|, with the electron already accounted for:

IonModeAdd to MCaffeine m/z
[M+H]⁺Positive+1.007276195.0877
[M+NH₄]⁺Positive+18.033826212.1142
[M+Na]⁺Positive+22.989221217.0696
[M+K]⁺Positive+38.963158233.0435
[M+2H]²⁺Positive+2.014553, then ÷298.0475
[M−H]⁻Negative−1.007276193.0731
[M+Cl]⁻Negative+34.969401229.0498
[M+HCOO]⁻Negative+44.998203239.0786

A molecule that already carries a charge, such as a quaternary ammonium salt, is observed as [M]+[\mathrm{M}]^+ with no adduct at all. Take the exact mass of the cation from its atoms and subtract one electron per positive charge. Acetylcholine, C7H16NO2+\mathrm{C_7H_{16}NO_2^+}, sums to 146.118104 from its atoms and appears at m/z 146.1176.

Salts and hydrates

Drug substances are often sold as salts or hydrates, and here the balance and the mass spectrometer disagree most. Imatinib mesylate is imatinib, C29H31N7O\mathrm{C_{29}H_{31}N_7O}, with one methanesulfonic acid. Load it into SketchIQ and the panel shows a molecular weight of 589.71 g/mol for the whole salt, 493.61 and 96.10 g/mol per fragment, and an [M+H]+[\mathrm{M+H}]^+ of 494.2663, which belongs to imatinib alone.

Both numbers are right for their purpose. To make a 10 mM solution, weigh 5.90 mg of the salt per mL, because the counterion is in the powder. Calculate with the free base's 493.61 instead and you dissolve 16% less imatinib than you intended. In the mass spectrometer the salt falls apart in solution, so the protonated imatinib cation at m/z 494.2663 is what you look for, not anything near 590.

Hydrates work the same way. Amoxicillin trihydrate, C16H19N3O5S⋅3H2O\mathrm{C_{16}H_{19}N_3O_5S \cdot 3H_2O}, weighs 419.45 g/mol against 365.40 g/mol for anhydrous amoxicillin, a 15% difference on the balance, while its [M+H]+[\mathrm{M+H}]^+ stays at 366.1118.

Water also shows up in elemental analysis: SketchIQ gives 45.81% carbon for the trihydrate, where anhydrous amoxicillin would be 52.59%. The JOC guidelines treat a formula that needs added water or solvent to fit the analysis as a sign of incomplete purification, and ask for independent evidence when the solvate is real.[6]

How to get these numbers in SketchIQ

  1. Open SketchIQ.
  2. Type a name, CAS number, PubChem CID, InChIKey or SMILES into the search box and press Enter, or draw the structure on the canvas.
  3. Read Molecular weight and Exact mass in the panel below the canvas.
  4. Scroll to the rows labelled HRMS m/z [M+H]+, HRMS m/z [M+Na]+ and HRMS m/z [M−H]−.
  5. For a salt or hydrate, read Molecular weight for the whole drawing and Per fragment for each component. To see one component's values on their own, select it on the canvas.

The masses are calculated in your browser from the drawn structure, so a new compound that PubChem has never seen gets the same values as caffeine. When the drawing has more than one fragment, the panel notes that the HRMS ions describe the fragment with the most atoms, which for a salt or hydrate is the parent molecule.

Check that the formula in the panel matches the compound you made before copying any number: a missing hydrogen or a wrong charge changes the exact mass by a full dalton or by an electron.

Common mistakes in HRMS calculations

MistakeWhat you seeFix
Adding a hydrogen atom (1.007825) instead of a protonCalculated [M+H]⁺ 0.00055 too high, a constant few-ppm error in positive modeAdd 1.007276, or subtract the electron mass after adding H
Using average molecular weight for HRMSCalculated value off by 0.1 Da or moreUse the monoisotopic exact mass
Using the salt or hydrate weight in the spectrumNo peak near the calculated valueCalculate the ion from the parent molecule only
Using the free-base weight to make a solution of a saltSolution weaker than labelledWeigh with the total molecular weight of the salt or hydrate
Leaving the added atom out of the reported formulaFormula and calculated m/z disagreeWrite the ion's formula, for example C13H17NO3Na for [M+Na]⁺
Matching the M+2 peak of a chlorinated compoundFormula fit is off by about 2 DaUse the lightest peak of the isotope cluster

After the calculation

With the formula and calculated ions settled, the same structure can go further without redrawing. From SketchIQ's Use this molecule in list, send it to Molecular descriptors for a full table that includes ExactMolWt, or to AutoDock Vina to dock it into a protein, Boltz-2, ADMET-AI or eToxPred.

The identifiers in the panel, the canonical SMILES and InChIKey, are explained in InChI, InChIKey, SMILES and CAS numbers, and the free drawing tools that compete with SketchIQ are compared in ChemDraw alternatives.

FAQ

Is exact mass the same as monoisotopic mass?

Not quite. Exact mass is any mass calculated for a specified isotopic composition, and monoisotopic mass is the exact mass calculated from the most abundant isotope of each element.[4] For most organic molecules the two are the same number, which is why calculators use the terms interchangeably.

Is molecular weight the same as molar mass?

In practice, yes. Molecular weight is the average mass of one molecule in daltons, and molar mass is the mass of one mole in grams. They have the same numerical value: caffeine is 194.19 Da and 194.19 g/mol.

What mass of a proton should I use for [M+H]⁺?

1.007276 u, the CODATA 2022 proton mass rounded to six decimals.[3] It equals the hydrogen atom mass, 1.007825, minus the electron mass, 0.000549.

Should I report [M+H]⁺ or [M+Na]⁺?

Report the ion you observed and calculate it from the matching formula. The JOC format gives the ion, the formula including the added atom, the calculated value and the found value, as in "HRMS (ESI/Q-TOF) m/z: [M + Na]+ Calcd for C13H17NO3Na 258.1101; Found 258.1074".[6]

How many decimal places should a calculated HRMS value have?

Four, as in the ACS format example. At m/z 200, the fourth decimal is 0.5 ppm, finer than routine HRMS measures; fewer decimals would hide errors the instrument can see, and more imply accuracy the measurement does not have.

Does SketchIQ handle isotope labels such as deuterium?

Yes. Draw or type an isotope-labelled atom (for example [2H] in SMILES) and the exact mass and HRMS ions use that isotope's mass, so a deuterated internal standard gets its own calculated m/z.