Percent yield calculator
Leave one box empty and it solves for that value. Use the section below if you need the theoretical yield from a reactant.
Actual and theoretical yield must use the same unit, such as grams or moles.
Find theoretical yield from a limiting reactant
Coefficients come from your balanced equation. Need a molar mass? Use the molar mass calculator.
How percent yield works
Percent yield compares what you actually collected to the most the reaction could produce: percent yield = (actual yield ÷ theoretical yield) × 100.
The theoretical yield comes from stoichiometry. Convert the limiting reactant to moles, use the coefficients in the balanced equation to get moles of product, then convert to grams with the product’s molar mass. Real experiments usually land below 100% because of side reactions, incomplete reactions, and product lost during handling.
Worked example: burning magnesium
A student burns 10.0 g of Mg in excess oxygen: 2 Mg + O₂ → 2 MgO. Moles of Mg = 10.0 ÷ 24.305 = 0.4114 mol. The ratio of Mg to MgO is 2 : 2, so 0.4114 mol of MgO can form, and the theoretical yield is 0.4114 × 40.304 g/mol = 16.58 g.
The student collects 15.2 g of MgO. Percent yield = actual ÷ theoretical × 100 = 15.2 ÷ 16.58 × 100 = 91.7%.
Frequently asked questions
Can percent yield be over 100%?
Not for a pure, dry product. A result over 100% usually means the product is still wet, contains impurities, or was weighed with something else, or that the theoretical yield was calculated from the wrong reactant.
Why is percent yield usually below 100%?
Reactions may not go to completion, side reactions make other products, and some product is lost when filtering, transferring or drying.
Which reactant do I use for the theoretical yield?
Always the limiting reactant, the one that runs out first. The stoichiometry calculator finds the limiting reactant and theoretical yield for you.
Is percent yield the same as percent error?
No. Percent yield compares product made to the maximum possible. Percent error compares a measured value to an accepted value: |measured − accepted| ÷ accepted × 100.