ESI-MS Adduct m/z Calculator ([M+H]+, [M+Na]+, Neutral Mass)
A mass spectrometer measures the mass-to-charge ratio m/z, not molecular weight directly. In electrospray ionization (ESI), neutral molecules gain or lose one or more protons in solution, forming charged ions that enter the detector. A single molecule can produce multiple adduct ions, each with a different m/z. Misassigning adducts shifts the molecular weight calculation and causes database searches to return wrong compounds or no hits at all.
Core Formulas
Forward — calculate adduct m/z from neutral exact mass:
m/z = (M + Σ m_adduct) / |z|
M is the monoisotopic exact mass of the neutral molecule (Da); Σ m_adduct is the summed mass contribution from all adduct species; |z| is the absolute charge state.
Common adduct mass contributions (Da):
Positive ion mode (ESI+)
[M+H]+ M + 1.007276 z = 1
[M+Na]+ M + 22.989218 z = 1
[M+K]+ M + 38.963158 z = 1
[M+NH4]+ M + 18.033825 z = 1
[M+2H]2+ M + 2 × 1.007276 z = 2
[M+H+Na]2+ M + 1.007276 + 22.989218 z = 2
[M+3H]3+ M + 3 × 1.007276 z = 3
Negative ion mode (ESI−)
[M−H]− M − 1.007276 z = 1
[M+Cl]− M + 34.969402 z = 1
[M+HCOO]− M + 44.998201 z = 1
[M+CH3COO]− M + 59.013851 z = 1
[M−2H]2− M − 2 × 1.007276 z = 2
Reverse — calculate neutral mass from observed m/z:
M = m/z × |z| − Σ m_adduct
Worked Examples
Caffeine (C₈H₁₀N₄O₂, M = 194.080376 Da), positive ion mode:
[M+H]+: (194.080376 + 1.007276) / 1 = 195.0877 Da ← PubChem CID 2519 theoretical value
[M+Na]+: (194.080376 + 22.989218) / 1 = 217.0696 Da ← agrees with literature value 217.0695
[M+2H]2+: (194.080376 + 2 × 1.007276) / 2 = 98.0475 Da
Reverse check: given m/z = 195.0877, z = 1, adduct [M+H]+, then M = 195.0877 × 1 − 1.007276 = 194.0804 Da ✓
Aspirin (C₉H₈O₄, M = 180.042259 Da), negative ion mode:
[M−H]−: (180.042259 − 1.007276) / 1 = 179.0350 Da ← literature value 179.0350
[M+Cl]−: (180.042259 + 34.969402) / 1 = 215.0117 Da ← literature value 215.0116
Why Proton Mass, Not Hydrogen Atom Mass
ESI ionization transfers a proton (H⁺), which carries no electron and has a mass of 1.007276 Da (NIST CODATA 2018). A hydrogen atom has one additional electron and a mass of 1.007825 Da; the difference is 0.000549 Da (one electron mass). High-resolution mass spectrometers typically achieve ≤ 5 ppm accuracy; for a 200 Da compound, 1 ppm = 0.2 mDa, and the proton–hydrogen difference of 0.55 mDa ≈ 2.7 ppm is large enough to cause wrong or missed hits in exact-mass database searches. Proton mass must be used.
Monoisotopic Mass vs. Average Molecular Weight
| Monoisotopic mass | Average molecular weight | |
|---|---|---|
| Basis | Mass of the most abundant isotope of each element | Abundance-weighted over natural isotopes |
| Use case | HRMS database searching | Low-resolution MS, gravimetric calculations |
| Difference from monoisotopic | Reference | ~+0.1 Da at 200 Da; ~+2 Da at 5 kDa |
If you only have the average molecular weight (e.g. from a reagent bottle label), there will be a significant offset in HRMS searches. Confirm the monoisotopic mass in PubChem or ChemDraw before querying.
Scope
- Applicable: ESI ionization; small organic molecules < 2000 Da (drugs, metabolites, lipids, natural products); short peptides < 5 kDa with a known charge state.
- Not applicable: Intact proteins (require deconvolution software); MALDI (complex matrix adducts, require separate treatment); EI ionization (generates radical cations M⁺·, mass = M − 0.000549 Da, different rules).
- This tool computes theoretical m/z only. It does not process spectral files or perform isotope envelope analysis.
Common Mistakes
- Using average molecular weight instead of monoisotopic mass: the two differ by 0.1–2 Da; HRMS searches return wrong compounds or miss entirely.
- Treating m/z as molecular weight: the m/z of [M+2H]²+ is roughly half the molecular weight — that is the same molecule carrying two charges, not a different, smaller compound.
- Overlooking sodium adducts: in positive ion mode, even without added sodium salt, trace sodium from glassware and skin produces a [M+Na]⁺ peak 21.982 Da above [M+H]⁺; beginners often flag it as an impurity.
FAQ
What is the difference between monoisotopic mass and average molecular weight, and which should I use?
High-resolution mass spectrometers (Orbitrap, QTOF) measure monoisotopic mass, calculated from the most abundant isotope of each element (¹²C = 12.000000, ¹H = 1.007825, ¹⁴N = 14.003074, ¹⁶O = 15.994915 Da). Average molecular weight is abundance-weighted over natural isotopes; for a 200 Da small molecule it exceeds monoisotopic mass by ~0.1 Da, and for a 5 kDa peptide by more than 2 Da. When searching HMDB, PubChem, or similar databases with HRMS data, always use monoisotopic mass.
Why use proton mass 1.007276 Da rather than hydrogen atom mass 1.007940 Da?
ESI ionization transfers a proton (H⁺), which carries no electron and has a mass of 1.007276 Da. A hydrogen atom has one additional electron (0.000549 Da), giving a mass of 1.007940 Da. High-resolution mass spectrometers typically achieve < 5 ppm accuracy; for a 200 Da compound, 5 ppm ≈ 1 mDa, and the 0.55 mDa proton–hydrogen difference is large enough to produce detectable offsets in exact-mass matching — proton mass must be used.
What is the m/z difference between [M+Na]+ and [M+H]+, and how do I tell them apart in a spectrum?
[M+Na]+ is 21.982 Da above [M+H]+ (= 22.989218 − 1.007276). In the positive-ion spectrum of a given compound, these two peaks always differ by exactly this value, which is the basis for adduct assignment. To suppress sodium adducts, add 0.1% formic acid or 5–10 mM ammonium acetate to the mobile phase to increase proton competition.
Is this tool suitable for intact protein analysis?
No. Intact proteins generate a multiply charged envelope in ESI — a series of peaks at adjacent charge states — and require dedicated deconvolution software (e.g. Protein Deconvolution, UniDec) to recover the neutral mass. This tool is for small molecules < 2000 Da (drugs, metabolites, lipids) and short peptides with a known charge state; it does not parse spectral data, only computes theoretical m/z.
Related tools
NGS Library Molarity & Equimolar Pooling Calculator (Qubit ng/µL to nM)
Convert Qubit mass concentration and Bioanalyzer fragment length to library molarity (nM), then get dilution volumes and an equimolar pooling plan.
PCR Run Time Calculator — Amplicon Size × Extension Rate
Calculate PCR run time from amplicon size and polymerase extension rate; instantly see per-cycle extension time and how much time a faster polymerase saves.
Peptide Fragment Ion m/z Calculator (b/y Ions, MS/MS Spectrum Annotation)
Enter a single-letter peptide sequence to get monoisotopic m/z values for all b/y ions; supports carbamidomethyl Cys and oxidized Met for LC-MS/MS spectrum annotation.
Buy me a coffee