Limiting reagent and theoretical yield calculator
Balance a reaction, find the limiting reagent from masses or moles, and get the theoretical yield, leftover reactants and percent yield.
A clear answer. Here’s how.
Balances the equation exactly (the smallest whole-number coefficients that conserve every element, found with rational arithmetic; coefficients you wrote are checked and replaced if they do not balance). Masses are turned into moles with molar masses from the IUPAC conventional standard atomic weights in this site’s periodic table (H 1.008, C 12.011, N 14.007, O 15.999 and so on). For each reactant given, moles ÷ coefficient is how many times the reaction could run on it; the smallest value, the reaction extent ξ, decides the limiting reagent. Each product forms ν·ξ moles (the theoretical yield, also in grams), each excess reactant keeps n − ν·ξ, and the bar chart shows moles ÷ coefficient for every reactant. Percent yield = actual ÷ theoretical × 100. The calculation assumes the reaction goes to completion with no side reactions and that the amounts are of pure substances; it does not handle solution volumes and concentrations, gas volumes or equilibria.
How this is checked
5 reference checks passed These 5 cases were run when this page was built, on 20 October 2026, and all reproduce within the stated tolerance. The same cases are part of the automated tests that run on every change to Toolmoz. Engine version 1.
See the checks and where each expected answer comes from
Case 1
- Inputs
- The tool’s default inputs
- Expected, and what Toolmoz gave
- Limiting reagent expected H2, Toolmoz H2Theoretical yield of H2O (g) expected 35.74404761904762, Toolmoz 35.74404761904762O2 left over (g) expected 0.25595238095238093, Toolmoz 0.25595238095237804
- Where the expected answer comes from
- Python fractions with H 1.008 and O 15.999: n(H2) = 4.00/2.016, ÷ 2 = 0.99206 is below n(O2) = 32.0/31.998 = 1.00006, so H2 limits; H2O = 1.98413 mol × 18.015 = 35.744 g, O2 left 0.25595 g
- Allowed difference
- ±1e-12 relative
Case 2
- Inputs
- Chemical equation (balanced or not) N2 + H2 -> NH3Reactant amounts, one per line N2 28.0 g H2 6.00 g
- Expected, and what Toolmoz gave
- Balanced equation expected N2 + 3 H2 → 2 NH3, Toolmoz N2 + 3 H2 → 2 NH3Limiting reagent expected H2, Toolmoz H2Theoretical yield of NH3 (g) expected 33.791666666666664, Toolmoz 33.791666666666664
- Where the expected answer comes from
- Python fractions: 28.0/28.014 = 0.99950 mol N2, 6.00/2.016 ÷ 3 = 0.99206, so H2 limits and NH3 = 2 × 0.99206 × 17.031 = 33.79 g
- Allowed difference
- ±1e-12 relative
Case 3
- Inputs
- Chemical equation (balanced or not) Si + N2 -> Si3N4Reactant amounts, one per line Si 2.00 g N2 1.50 g
- Expected, and what Toolmoz gave
- Limiting reagent expected Si, Toolmoz SiTheoretical yield of Si3N4 (mol) expected 0.0237, Toolmoz 0.02373746365200878Balanced equation expected 3 Si + 2 N2 → Si3N4, Toolmoz 3 Si + 2 N2 → Si3N4
- Where the expected answer comes from
- OpenStax Chemistry 2e, Example 4.12: silicon is limiting and complete reaction gives 0.0237 mol Si3N4 (three significant figures)
- Allowed difference
- ±0.00005 absolute
Case 4
- Inputs
- Chemical equation (balanced or not) CuSO4 + Zn -> Cu + ZnSO4Reactant amounts, one per line CuSO4 1.274 gActual yield of one product (optional) Cu 0.392 g
- Expected, and what Toolmoz gave
- Theoretical yield of Cu (g) expected 0.5072, Toolmoz 0.5072468014185285Percent yield expected 77.3, Toolmoz 77.2799353103385
- Where the expected answer comes from
- OpenStax Chemistry 2e, Example 4.13: 1.274 g CuSO4 with excess zinc, 0.392 g Cu obtained; theoretical yield 0.5072 g and percent yield 77.3%
- Allowed difference
- ±0.05 absolute
Case 5
- Inputs
- Chemical equation (balanced or not) CCl4 + HF -> CF2Cl2 + HClReactant amounts, one per line CCl4 32.9 gActual yield of one product (optional) CF2Cl2 12.5 g
- Expected, and what Toolmoz gave
- Percent yield expected 48.3, Toolmoz 48.33370258730598Balanced equation expected CCl4 + 2 HF → CF2Cl2 + 2 HCl, Toolmoz CCl4 + 2 HF → CF2Cl2 + 2 HCl
- Where the expected answer comes from
- OpenStax Chemistry 2e, Example 4.13 Check Your Learning: 12.5 g CF2Cl2 from 32.9 g CCl4 and excess HF is a 48.3% yield
- Allowed difference
- ±0.05 absolute
What this shows: the engine reproduces independently worked values for these cases. It does not prove every possible input is right. To test an answer you were given, see how to check a number; to see what is and is not checked across Toolmoz, see the accuracy ledger.
See a worked example
Worked example
A fixed demonstration, separate from the values you enter above.
- Chemical equation (balanced or not)
- 2 H2 + O2 -> 2 H2O
- Reactant amounts, one per line
H2 4.00 g O2 32.0 g
- Actual yield of one product (optional)
Example result
| Species | Role | Coefficient | Molar mass (g/mol) | Moles given | Mass given (g) | Moles ÷ coefficient | Moles used or formed | Mass used or formed (g) | Moles left | Mass left (g) |
|---|---|---|---|---|---|---|---|---|---|---|
| H2 | Reactant (limiting) | 2 | 2.016 | 1.98412698413 | 4 | 0.992063492063 | 1.98412698413 | 4 | 0 | 0 |
| O2 | Reactant (in excess) | 1 | 31.998 | 1.00006250391 | 32 | 1.00006250391 | 0.992063492063 | 31.744047619 | 0.007999011843 | 0.255952380952 |
| H2O | Product | 2 | 18.015 | 1.98412698413 | 35.744047619 |
Balanced exactly with rational arithmetic. Each reactant amount is divided by its coefficient; the smallest quotient (the reaction extent) limits the reaction, every product forms at coefficient × extent, and excess reactants keep the rest. Molar masses use the IUPAC conventional standard atomic weights in this site’s table (for example H 1.008, C 12.011, N 14.007, O 15.999). Reactants without an amount are assumed to be in excess. The theoretical yield assumes complete reaction with no side products.