HomeChemistry ToolsStoichiometry Calculator with Steps | StatsUnlock

Stoichiometry Calculator with Steps | StatsUnlock

Stoichiometry Calculator

Type a chemical equation and one known amount to get the amount of any other substance, with steps. The equation is balanced for you, and every answer shows the 3-step method, the factor-label line, a full stoichiometry table and four charts. Mass to mass, mole to mole, gas volume, solution, limiting reagent and percent yield.

ChemistryStoichiometryStep by StepClass 10 to 12, GCSE, APLimiting ReagentFree

⚡ 0. Quick Answer

A stoichiometry calculator uses a balanced equation to turn the amount of one substance into the amount of another, in three steps: convert to moles, multiply by the mole ratio, convert to the unit you want. For 4.00 g of hydrogen burning, 2 H2 + O2 → 2 H2O:

4.00 g H2 ÷ 2.016 g/mol = 1.984 mol → × 2/2 = 1.984 mol H2O → × 18.015 g/mol = 35.7 g H2O

Rule of thumb: never go from grams to grams directly. Only moles follow the coefficients, so every stoichiometry calculation passes through moles. Here 4.00 g of H2 needs 31.7 g of O2 and makes 35.7 g of water.

🔑 Key Takeaways

  • A stoichiometry calculator converts an amount of one substance into another using the mole ratio from a balanced equation.
  • Every stoichiometry calculation has 3 steps: given amount → moles, moles × mole ratio, moles → the unit you want.
  • 4.00 g of H2 makes 35.7 g of water, because 2 H2 + O2 → 2 H2O gives a 1 : 1 ratio of H2 to H2O.
  • With two reactants, the limiting reagent is the one with the smallest moles ÷ coefficient: 10.0 g H2 and 64.0 g O2 make 72.1 g of water, and O2 runs out first.
  • The equation must be balanced first; mass is conserved, so reactants used and products formed weigh the same (35.7 g each in the example).

📚 1. What Is a Stoichiometry Calculator?

Stoichiometry is the calculation of quantities in chemical reactions: how much product a given amount of reactant makes, or how much of one reactant is needed to use up another. The word comes from the Greek stoicheion (element) and metron (measure). A stoichiometry calculator does these calculations from a balanced chemical equation and one known amount. This one is a chemistry stoichiometry calculator, an equation balancer and a unit conversion calculator in one: type the reaction as you would write it, and it balances the equation, finds every coefficient and mole ratio, and shows the work for each step.

The key fact is that the coefficients in a balanced equation are mole ratios. In 2 H2 + O2 → 2 H2O, 2 mol of hydrogen react with 1 mol of oxygen to make 2 mol of water. They are not mass ratios: 2 g of hydrogen does not react with 1 g of oxygen. That is why every stoichiometry problem is solved through moles.

A worked one-liner: how many moles of ammonia form from 3.00 mol of hydrogen in N2 + 3 H2 → 2 NH3? n(NH3) = 3.00 × 2/3 = 2.00 mol.

The 3-step stoichiometry roadmap: 4.00 g of hydrogen is 1.984 mol, the 2 to 2 mole ratio gives 1.984 mol of water, which is 35.7 g of water Grams H₂4.00 g Moles H₂1.984 mol Moles H₂O1.984 mol Grams H₂O35.7 g ÷ 2.016× 2/2× 18.015 Step 1: to moles · Step 2: mole ratio · Step 3: to grams 2 H₂ + O₂ → 2 H₂O. Moles follow the coefficients; grams do not.
The stoichiometry roadmap for the headline problem. Every gram-to-gram, gram-to-litre or solution problem follows the same three arrows.

Who uses it: CBSE and ICSE students meet stoichiometry in NCERT Class 10 and Class 11 (“Some Basic Concepts of Chemistry”); JEE and NEET use it in nearly every physical chemistry problem; IGCSE, GCSE, A level, AP Chemistry and IB students use it for every reacting-mass and titration question. In chemical engineering the subject is usually taught as stoichiometry and process calculations, where the same mole ratios feed material balances; lab staff use it to scale a recipe or work out a yield.

Problem typeYou knowYou wantMiddle stepExample
Mole to molemoles of Amoles of Bmole ratio only3.00 mol H2 → 2.00 mol NH3
Mass to mass (gram to gram)grams of Agrams of B÷ MA, ratio, × MB4.00 g H2 → 35.7 g H2O
Mass to volume (gas)grams of Alitres of gas B÷ MA, ratio, × Vm25.0 g CaCO3 → 5.67 L CO2
Solution stoichiometryvolume and molarity of Avolume of Bc × V, ratio, ÷ c25.0 mL 0.100 M NaOH → 25.0 mL 0.0500 M H2SO4
Limiting reagentamounts of two reactantsyield and excessmoles ÷ coefficient, smallest wins10.0 g H2 + 64.0 g O2 → 72.1 g H2O

What this free online stoichiometry calculator solves

One page covers every stoichiometry word problem in a typical course. Press Try it to load an example into the calculator, then press Calculate to see the full working.

Problem typeWhat it works outExample
Gram to gram (mass to mass)Grams of any reactant or product from grams of another4.00 g H2 → 35.7 g H2O
Mole to moleMoles from moles, using the mole ratio only3.00 mol H2 → 2.00 mol NH3
Grams to moles and moles to gramsAny mix of mass and moles in and outChoose the amount type and the answer unit
Gas stoichiometry (mass to volume)Litres of gas at STP, SATP, RTP or your own T and P25.0 g CaCO3 → 5.67 L CO2
Solution (molarity) stoichiometryTitration volumes and moles from c × V25.0 mL 0.100 M NaOH → 25.0 mL H2SO4
Limiting reagentWhich reactant runs out, the excess left and the yield10.0 g H2 + 64.0 g O2 → 72.1 g H2O
Theoretical and percent yieldTheoretical yield, then actual ÷ theoretical × 10069.94 g Fe, 85.8% yield
Redox and ionic equationsBalances with H+, OH− and H2O added0.0200 mol MnO4− → 0.100 mol Fe2+
Avogadro's number and molecular calculationsAtoms, molecules or formula units in or out3.01 × 1023 Na atoms → 29.2 g NaCl
Reaction sequence (multi-step)The product of one reaction becomes the reactant of the next12.0 g C → CO → 37.2 g Fe (Section 14)See it
A whole worksheetMany problems at once, with a downloadable answer keyBatch tab in Section 2Open

Free, with no sign-up. Everything runs in your browser: nothing you type is sent to a server or stored.

How accurate is this stoichiometry calculator?

The calculator balances the equation with exact whole-number arithmetic, so the mole ratio is never rounded. Molar masses use the CIAAW 2024 standard atomic weights for all 118 elements (Prohaska et al., 2022), or rounded exam values if you choose them. Every step keeps full precision; only the final answer is rounded, to the significant figures of the numbers you typed. Each answer is checked two ways before it gets the Verified badge: the mass of reactants used must equal the mass of products formed, and the mole ratio is applied in reverse to give back the starting moles. The R and Python scripts in Sections 10 and 11 return the same 35.7 g for the headline problem.

Research on how students learn stoichiometry finds that the hardest part is not the arithmetic but knowing which ratio to use and when to convert to moles (Schmidt & Jignéus, 2003; Fach et al., 2007). That is why every result shows the three steps separately and as one factor-label line.

What you getWhy it matters
Automatic balancing (including acidic and basic redox)The most common stoichiometry error is using an unbalanced equation
Mass, moles, gas volume, solution and particles, in and outOne stoichiometry calculator for every textbook problem type
The 3 steps and the factor-label lineThe written working examiners mark, in the order they mark it
A table of every species at onceAnswers “how much oxygen is needed and how much water forms” together
Limiting reagent, excess and percent yieldReal reactions rarely use exact amounts
Batch mode, CSV export and a share linkA whole stoichiometry worksheet in one go

🧮 2. Enter Your Problem in the Stoichiometry Calculator

Symbol keys (arrows, states, charges, brackets, hydrates, common compounds and ions)
Arrows and plus
States
Charges
Brackets and hydrates
Common compounds
Common ions
Edit

Type it like this: H2 + O2 -> H2O, with spaces around each plus sign. You do not need to balance it. Brackets: Ca(OH)2; hydrates: CuSO4.5H2O; ions: Fe^3+, SO4^2-; electrons: e-. States such as (aq) and arrows such as ⇌ are accepted and ignored for the maths. Capitals matter: Co is cobalt, CO is carbon monoxide.

2. What kind of problem?

3. What do you know?

4. What do you want to find?

Press Enter in any box to calculate. Nothing is calculated until you press the button.

Given units: g, mg, kg, mol, mmol, L, mL or particles. Answer unit: g, mol, L or particles. Gas volumes use the gas conditions chosen on the One problem tab.

📊 3. Your Results: Stoichiometry Calculator with Steps and Work Shown

Answer: ___ . Enter or load a problem above, then press Calculate Stoichiometry. The balanced equation, the 3-step working, the factor-label line, a table of every substance, a roadmap of your route and four charts will appear here.

🧠 4. What Does Your Stoichiometry Answer Mean?

Solve a problem above to fill this box with your own numbers: ___ . The sub-sections below explain every part of the output.

4.1 The mole ratio is the heart of every stoichiometry calculation

All stoichiometry calculations involve one important step: converting to moles so you can use the mole ratio. The ratio comes straight from the coefficients. In 2 H2 + O2 → 2 H2O the ratios are 2 mol H2 : 1 mol O2 : 2 mol H2O, so 1.984 mol of hydrogen needs 0.992 mol of oxygen and makes 1.984 mol of water. Write the ratio as a fraction with the substance you want on top and the substance you know underneath, and the units cancel.

4.2 Why grams do not follow the coefficients

Each substance has a different molar mass, so equal moles are unequal grams. In the headline problem 4.00 g of hydrogen reacts with 31.7 g of oxygen, eight times the mass, although only half the moles. Chart 1 (moles) and Chart 2 (grams) in your results show this side by side: the bars have the coefficient pattern in Chart 1 and a completely different pattern in Chart 2.

4.3 Reading the stoichiometry table

The table under the steps lists every substance in the equation with its coefficient, molar mass, moles and grams. Reactants show the amount used, products the amount formed. It answers several questions at once: how much oxygen is needed, how much water forms and how much of every other product appears, all from one known amount. The totals row checks the law of conservation of mass: grams used equals grams formed.

SubstanceCoefficientM (g/mol)MolesGrams
H2 (given)22.0161.9844.00
O2 (needed)131.9980.99231.7
H2O (formed)218.0151.98435.7

4.4 Theoretical yield, actual yield and percent yield

The answer a stoichiometry calculator gives for a product is the theoretical yield: the most that can form if every particle of the limiting reactant reacts. Real experiments lose some product to side reactions, incomplete reaction and transfer losses, so the actual yield is lower. Percent yield = actual ÷ theoretical × 100. For 100.0 g of Fe2O3 the theoretical yield of iron is 69.94 g; if you collect 60.0 g, the percent yield is 85.8%. A percent yield above 100% means the product is wet or impure, not that you made extra.

4.5 The limiting reagent decides the yield

With amounts of two reactants, divide each one’s moles by its coefficient. The smallest result belongs to the limiting reagent; it runs out first and sets the yield. For 10.0 g H2 (4.960 mol ÷ 2 = 2.480) and 64.0 g O2 (2.000 mol ÷ 1 = 2.000), oxygen is limiting even though there are fewer grams of hydrogen. The water formed is 4.000 mol, or 72.1 g, and 1.94 g of hydrogen is left over. Chart 3 shows this test as bars.

4.6 Gas volumes and the molar volume

For a gas product the calculator multiplies moles by the molar volume at the conditions you chose. The same 0.2498 mol of CO2 fills 5.67 L at IUPAC STP (22.711 L/mol), 5.60 L at the older STP of 0 °C and 1 atm (22.414 L/mol), and 6.19 L at SATP. Always state the conditions. Most CBSE and older US textbooks still use 22.4 L/mol, while IUPAC and many university courses use 22.7 L/mol.

4.7 Significant figures in stoichiometry

Coefficients are exact counts and molar masses have four or more figures, so the measured amount you type usually limits the precision. 4.00 g has three significant figures, so the answer is 35.7 g, not 35.744 g. For solution problems both the volume and the molarity count: 25.0 mL of 0.100 M gives three figures. The calculator keeps full precision through every step and rounds once, so the factor-label line and the step-by-step working agree.

4.8 A field note on where stoichiometry goes wrong

In marking stoichiometry work, the same three errors appear again and again: using an unbalanced equation, multiplying grams by the mole ratio, and turning the ratio upside down. Studies of students solving algorithmic stoichiometry problems report the same pattern: many can carry out the steps without understanding why the ratio applies to moles (Schmidt & Jignéus, 2003; Sanger, 2005). The calculator balances first, labels every factor with its unit and substance, and shows the ratio with the wanted substance on top, so each of these errors becomes visible.

4.9 Multi-step and reaction-sequence stoichiometry

When one reaction feeds another, the product moles of the first become the given moles of the second. For the blast furnace sequence 2 C + O2 → 2 CO, then Fe2O3 + 3 CO → 2 Fe + 3 CO2, find the moles of CO from the carbon, then use the second ratio. You can chain problems in this stoichiometry calculator by choosing Answer in: moles for the first and typing that value as the given amount of the second, or multiply the two mole ratios together (Section 6, formula ⑤).

✍ 5. How to Write a Stoichiometry Answer

▶ Solve a problem above to fill all five cards with your own answer.

1. Exam answer, 3 steps
Step 1: n(given) = ___ . Step 2: n(wanted) = ___ × ratio = ___ . Step 3: answer = ___
📌 Conventions examiners look for
  • Write the balanced equation first.
  • Label each amount with its substance: n(H2), not just n.
  • Show the mole ratio as a fraction, wanted over given.
  • Give the final answer with a unit and the right significant figures.
2. Factor-label (dimensional analysis) line
___ × (1 mol / ___ g) × (___ mol / ___ mol) × (___ g / 1 mol) = ___
📌 Conventions
  • Every unit except the answer’s should cancel.
  • Write the substance next to each unit so the cancelling is clear.
3. Lab report results sentence
From ___ , the theoretical yield of ___ was ___ .
📌 Conventions
  • Name the limiting reagent.
  • Give actual yield and percent yield to the precision of your balance.
  • State the gas conditions for any volume.
4. Teacher’s answer-key line
Answer: ___
📌 Conventions
  • Accept a last-digit difference if students used rounded atomic weights.
  • Use the Batch tab to make a whole stoichiometry worksheet answer key.
5. Plain text for chat, forums or a spreadsheet
___
📌 Conventions
  • Write subscripts as plain digits: H2O, CO2.
  • Write the arrow as -> and powers of ten as e: 6.02e23.

∑ 6. Stoichiometry Formulas Used by the Calculator

These seven cards are the stoichiometry calculation notes in one place: every formula the calculator uses, with a worked number for each, covering stoichiometry calculations with chemical formulas and equations.

①
Mole Ratio (Mole to Mole)
nB = nA × (b ÷ a)
a, bCoefficients of A (known) and B (wanted) in the balanced equation
ExampleN2 + 3 H2 → 2 NH3: 3.00 mol H2 × 2/3 = 2.00 mol NH3
②
Mass to Mass (Gram to Gram)
mB = (mA ÷ MA) × (b ÷ a) × MB
Example(4.00 ÷ 2.016) × 2/2 × 18.015 = 35.7 g H2O
RuleNever multiply grams by the mole ratio: convert to moles first
③
Gas Stoichiometry (Mass to Volume)
VB = nB × Vm  ·  Vm = RT ÷ P
Vm22.711 L/mol (0 °C, 1 bar), 22.414 L/mol (0 °C, 1 atm), 24.790 L/mol (25 °C, 1 bar)
Example25.0 g CaCO3 ÷ 100.086 × 1/1 × 22.711 = 5.67 L CO2
R8.314 462 618 J mol−1 K−1; with P in kPa, RT/P comes out in L/mol
④
Solution Stoichiometry (Molarity)
n = c × V  ·  VB = nB ÷ cB
c, VMolarity in mol/L and volume in L (mL ÷ 1000)
Example0.0250 L × 0.100 M NaOH = 2.50 mmol; × 1/2 = 1.25 mmol H2SO4; ÷ 0.0500 M = 25.0 mL
⑤
Particles and Multi-Step Sequences
n = N ÷ NA  ·  nC = nA × (b/a) × (c/b′)
NAAvogadro constant, 6.022 140 76 × 1023 mol−1, exact
Example3.01 × 1023 Na atoms = 0.500 mol Na → 0.500 mol NaCl = 29.2 g
SequenceMultiply the mole ratios of each reaction in turn
⑥
Limiting Reagent and Excess
ξ = min( ni ÷ νi )  ·  left over = ni − νi ξ
ξExtent of reaction in mol; the reactant giving the smallest value is limiting
Example10.0 g H2: 4.960/2 = 2.480; 64.0 g O2: 2.000/1 = 2.000 → O2 limits, ξ = 2.000 mol
⑦
Theoretical and Percent Yield
% yield = actual ÷ theoretical × 100
Example60.0 g ÷ 69.94 g × 100 = 85.8% for iron from 100.0 g Fe2O3
SourceAtomic weights: CIAAW 2024. Constants: NIST CODATA

🔀 7. How to Calculate Stoichiometry: Flowchart, Step by Step

This flowchart shows how to do stoichiometry calculations, on the same problem used in the Excel, R, Python and by-hand sections: what mass of water forms when 4.00 g of hydrogen burns in oxygen?

Start or result Data step Calculation step Yes or no check
StartH2 + O2 → H2O, 4.00 g H2Find the mass of water formed
CheckIs the equation balanced?
YesCarry on with the coefficients.
NoBalance it first: 2 H2 + O2 → 2 H2O.
1
Find the molar massesM(H2) = 2.016, M(H2O) = 18.015 g/molFrom CIAAW 2024 atomic weights (exam values: 2 and 18).
2
Convert the given amount to molesn(H2) = 4.00 g ÷ 2.016 g/moln(H2) = 1.984 mol
3
Multiply by the mole ration(H2O) = 1.984 × (2 mol H2O / 2 mol H2)n(H2O) = 1.984 mol
4
Convert moles to the unit asked form(H2O) = 1.984 mol × 18.015 g/molm = 35.744… g
5
Round to the significant figures of the data4.00 g has 3 s.f.m(H2O) = 35.7 g
CheckIs mass conserved?
Yes4.00 g H2 + 31.7 g O2 = 35.7 g H2O. Verified.
No, stopThe ratio is upside down or a molar mass is wrong. Recheck steps 1 and 3.
Result4.00 g H2 makes 35.7 g H2O1.984 mol each needs 31.7 g O₂Answer to 3 significant figures, the precision of the given mass.

Check any box yourself: the Excel sheet in Section 9, the R script in Section 10 and the Python script in Section 11 all return 1.984 mol and 35.7 g for this problem.

📝 8. How to Use This Stoichiometry Calculator

  1. Type the chemical equation. Write it as H2 + O2 -> H2O with spaces around each plus sign. It does not need to be balanced; the calculator balances it for you.
  2. Check the capital letters and charges. Co is cobalt and CO is carbon monoxide. Write ions as Fe^3+ or SO4^2-, and pick acidic or basic for ionic redox equations.
  3. Choose the problem type. Pick one known amount for mass to mass, mole to mole, gas and solution problems, or two or more reactants for a limiting reagent problem.
  4. Pick the substance you know. The list fills from your equation. Choose its amount type: mass, moles, gas volume, solution or number of particles.
  5. Enter the amount and unit. Type the number exactly as measured, including trailing zeros such as 4.00, because they set the significant figures. For a solution, add its molarity.
  6. Pick the substance to find. Choose the answer unit: grams, moles, litres of gas, volume of a solution or number of particles.
  7. Set the gas conditions and atomic weights. Choose IUPAC STP, the older 22.4 L/mol STP, SATP, RTP or custom temperature and pressure, and CIAAW or rounded exam weights.
  8. Add the actual yield if you have one. Type the mass you collected and the calculator gives the percent yield.
  9. Press Calculate Stoichiometry. Nothing is calculated before you press it, and changing any input clears the old answer.
  10. Read the steps, table and charts, then copy or share. Copy the 3-step working or the factor-label line, download a report, share a link, or solve a whole worksheet on the Batch tab.

📈 9. How to Do Stoichiometry Calculations in Excel

Excel cannot balance an equation, so you type the balanced coefficients yourself and let the sheet do the three steps. Lay out one row per substance with its coefficient and molar mass; then each step is one formula. The sheet below uses the headline problem, 4.00 g of hydrogen burning, so it must return 1.98413 mol and 35.7 g of water, the same as the stoichiometry calculator above.

The whole thing in one line: with the given mass in E2, its molar mass in C2 and coefficient in B2, and the wanted substance in row 4, type =E2/C2*B4/B2*C4. That is grams to grams stoichiometry.

9.1 The functions you need

You wantExcel formulaNote
Step 1: grams to moles=E2/C2Mass divided by molar mass
Step 2: mole ratio=F2*B4/B2Wanted coefficient on top
Step 3: moles to grams=G4*C4Moles times molar mass
Moles to litres of gas=G4*22.711Use 22.414 for 0 °C and 1 atm
Solution: moles from volume=E2/1000*D2mL ÷ 1000 × molarity
Limiting reagent test=MIN(F2:F3)F = moles ÷ coefficient
Name the limiting reagent=INDEX(A2:A3,MATCH(MIN(F2:F3),F2:F3,0))Returns the substance
Percent yield=actual/theoretical*100Format as a number, not %
Round to 3 significant figures=ROUND(G2,3-1-INT(LOG10(ABS(G2))))Change the 3 for other s.f.
The ratio trap. =F2*B2/B4 looks almost the same as =F2*B4/B2 but gives the ratio upside down. The coefficient of the substance you want always goes on top.

9.2 Step by step

1 Lay out the balanced equation as a table

One row per substance: name in A, coefficient in B, molar mass in C. For 2 H2 + O2 → 2 H2O the coefficients are 2, 1 and 2.

Xstoichiometry.xlsx - ExcelC4fx18.015ABC1SubstanceCoefM (g/mol)2H222.0163O2131.9984H2O218.015

Coefficients 2, 1, 2; molar masses 2.016, 31.998, 18.015 g/mol.

2 Step 1: convert the given mass to moles

Type the 4.00 g of hydrogen in E2; in F2 divide it by its molar mass.

=E2/C2
Xstoichiometry.xlsx - ExcelF2fx=E2/C2ABCEF1SubstanceCoefM (g/mol)Mass (g)Moles2H222.0164.001.98413

4.00 g of H2 is 1.98413 mol.

3 Steps 2 and 3: mole ratio, then grams

Moles of every substance are the given moles times its coefficient over the given coefficient. Fill G2 down to G4, then multiply by the molar mass in column H.

=$F$2*B2/$B$2 =G2*C2 =ROUND(H4,3-1-INT(LOG10(ABS(H4))))
Xstoichiometry.xlsx - ExcelH4fx=G4*C4ABCGHI1SubstanceCoefM (g/mol)MolesGramsRounded2H222.0161.984134.0003O2131.9980.9920631.74431.74H2O218.0151.9841335.74435.7

Water formed: 1.98413 mol and 35.744 g, rounded to 35.7 g; oxygen needed: 31.744 g.

4 Find the limiting reagent

For two reactants, divide each one’s moles (column E) by its coefficient in column F: =E2/B2. The smallest value is the limiting reagent, and it sets the yield.

Xstoichiometry.xlsx - ExcelF3fx=E3/B3ABCDEF1ReactantCoefMMass (g)MolesMol/coef2H222.01610.04.960322.480163O2131.99864.02.000132.000134LimitingO25H2O (g)72.1

O2 gives 2.000, less than H2’s 2.480, so oxygen limits and the yield of water is 72.1 g.

9.3 Awkward cases

  • Gas volumes. Multiply the moles by the molar volume for your conditions, or use =G4*0.08314462618*(T+273.15)/P_bar for any temperature and pressure.
  • Solutions. Convert mL to L before multiplying by molarity: =25/1000*0.1 gives 0.0025 mol.
  • Reaction sequences. Put each reaction in its own block and point the second block’s given moles at the first block’s product moles.
  • Particles. Divide by 6.02214076E+23 to get moles first.

9.4 Why your Excel answer might differ from R, Python or this page

SituationWhat happensFix
Last digit differsRounded molar masses (2 and 18 instead of 2.016 and 18.015)Use the same weights; 4.00 ÷ 2 × 18 = 36.0 g with exam values
Answer is 4 times too big or smallMole ratio upside downWanted coefficient on top
Answer about 9 times offGrams multiplied by the ratio directlyConvert to moles first
Rounded too earlyA rounded mole value was typed in a later stepPoint formulas at the unrounded cell
ToolGrams to grams stoichiometry
Excel / Google Sheets=E2/C2*B4/B2*C4
Rgiven_g / M[[given]] * coef[[wanted]] / coef[[given]] * M[[wanted]]
Pythongiven_g / M[given] * coef[wanted] / coef[given] * M[wanted]
Casio fx-991EX4 ÷ 2.016 × 2 ÷ 2 × 18.015 =

9.5 Charting in Excel

  1. Select the substance names and their moles (A2:A4, G2:G4).
  2. Insert → Charts → Column. The bar heights follow the coefficients, as in Chart 1 above.
  3. Repeat with the grams column (H2:H4) to see that masses do not follow the coefficients.

9.6 Excel errors you will probably hit

Excel showsWhyFix
#DIV/0!An empty molar mass or coefficient cellFill every row of the table
#VALUE!A unit typed in a number cell, such as 4.00 gKeep units in the header row
#N/A from MATCHMIN looked at a different rangeUse the same range in MIN and MATCH
Wrong answer after fill downThe given cell was not lockedUse $F$2 and $B$2

📈 10. How to Do Stoichiometry Calculations in R

This base R stoichiometry calculator program takes the balanced equation as named coefficients, checks that it really is balanced, works out each molar mass from the formula, runs the three steps, prints a stoichiometry table, checks that mass is conserved, finds the limiting reagent, and saves one 300 dpi chart. For 4.00 g of hydrogen it prints 1.9841 mol and 35.7 g of water, matching the stoichiometry calculator on this page.

base R nothing to install
Copy the whole block. It runs top to bottom in RStudio or with Rscript stoichiometry.R. Change only the lines in part 1 (and start_g for a limiting reagent problem).

10.1 The complete script

R, base only, saves stoichiometry.png

# ============================================================
# Stoichiometry in R: grams -> moles -> mole ratio -> grams
# StatsUnlock - https://statsunlock.com/stoichiometry-calculator/
# Base R only. No packages to install.
# ============================================================

# ---- 1. Your problem: the BALANCED equation as coefficients -----
reactants <- c(H2 = 2, O2 = 1)     # 2 H2 + O2 -> 2 H2O
products  <- c(H2O = 2)
given     <- "H2"; given_g <- 4.00 # the amount you know, in grams
wanted    <- "H2O"                 # the substance you want
sig_figs  <- 3                     # significant figures in your data

# CIAAW 2024 standard atomic weights (g/mol); add any element you need
W <- c(H = 1.008, Li = 6.94, C = 12.011, N = 14.007, O = 15.999, F = 18.998,
       Na = 22.990, Mg = 24.305, Al = 26.982, Si = 28.085, P = 30.974,
       S = 32.06, Cl = 35.45, K = 39.098, Ca = 40.078, Mn = 54.938,
       Fe = 55.845, Cu = 63.546, Zn = 65.38, Br = 79.904, Ag = 107.87,
       I = 126.90, Ba = 137.33, Au = 196.97, Pb = 207.2)

# Count atoms, multiplying through brackets and the hydrate dot
parse_formula <- function(f) {
  total <- c()
  parts <- strsplit(f, "[.*]")[[1]]
  for (i in seq_along(parts)) {
    part <- parts[i]; mult <- 1
    if (i > 1 && grepl("^[0-9]+", part)) {
      mult <- as.numeric(sub("^([0-9]+).*", "\\1", part))
      part <- sub("^[0-9]+", "", part)
    }
    tok <- regmatches(part, gregexpr("[A-Z][a-z]?|[0-9]+|[][()]", part))[[1]]
    stack <- list(numeric(0)); j <- 1
    while (j <= length(tok)) {
      t <- tok[j]; j <- j + 1
      if (t %in% c("(", "[")) { stack[[length(stack) + 1]] <- numeric(0); next }
      n <- 1
      if (j <= length(tok) && grepl("^[0-9]+$", tok[j])) { n <- as.numeric(tok[j]); j <- j + 1 }
      top <- length(stack)
      if (t %in% c(")", "]")) {
        inner <- stack[[top]] * n; stack[[top]] <- NULL; top <- top - 1
        for (k in names(inner)) stack[[top]][k] <- sum(stack[[top]][k], inner[k], na.rm = TRUE)
      } else {
        stack[[top]][t] <- sum(stack[[top]][t], n, na.rm = TRUE)
      }
    }
    for (k in names(stack[[1]])) total[k] <- sum(total[k], stack[[1]][k] * mult, na.rm = TRUE)
  }
  total
}

molar_mass <- function(f) {
  counts <- parse_formula(f)
  if (any(!names(counts) %in% names(W))) stop("Add the atomic weight of ", paste(setdiff(names(counts), names(W)), collapse = ", "))
  sum(counts * W[names(counts)])
}

# ---- 2. Check the equation is balanced ---------------------------
side_atoms <- function(side) {
  tot <- c()
  for (f in names(side)) {
    a <- parse_formula(f) * side[[f]]
    for (k in names(a)) tot[k] <- sum(tot[k], a[k], na.rm = TRUE)
  }
  tot[order(names(tot))]
}
if (!isTRUE(all.equal(side_atoms(reactants), side_atoms(products)))) stop("The equation is not balanced")
coef <- c(reactants, products)
M <- sapply(names(coef), molar_mass)

# ---- 3. The three steps ------------------------------------------
if (given_g <= 0) stop("The amount must be greater than zero")
n_given  <- given_g / M[[given]]                 # step 1: grams -> moles
ratio    <- coef[[wanted]] / coef[[given]]       # step 2: mole ratio
n_wanted <- n_given * ratio
m_wanted <- n_wanted * M[[wanted]]               # step 3: moles -> grams
cat(sprintf("Step 1  n(%s) = %.2f g / %.3f g/mol = %.4f mol\n", given, given_g, M[[given]], n_given))
cat(sprintf("Step 2  n(%s) = %.4f mol x %g/%g = %.4f mol\n", wanted, n_given, coef[[wanted]], coef[[given]], n_wanted))
cat(sprintf("Step 3  m(%s) = %.4f mol x %.3f g/mol = %s g\n", wanted, n_wanted, M[[wanted]], signif(m_wanted, sig_figs)))

# ---- 4. Stoichiometry table and mass balance ---------------------
xi <- n_given / coef[[given]]                    # extent of reaction, mol
tab <- data.frame(substance = names(coef), coef = as.vector(coef), M = round(M, 3),
                  mol = round(coef * xi, 4), grams = round(coef * xi * M, 3), row.names = NULL)
print(tab)
m_in  <- sum(reactants * xi * M[names(reactants)])
m_out <- sum(products  * xi * M[names(products)])
stopifnot(abs(m_in - m_out) < 1e-3 * m_in)
cat(sprintf("Verdict: Verified, reactants %.3f g = products %.3f g\n", m_in, m_out))

# ---- 5. Limiting reagent (optional): grams of each reactant -------
start_g <- c(H2 = 10.0, O2 = 64.0)
test <- (start_g / M[names(start_g)]) / reactants[names(start_g)]
lim <- names(which.min(test))
cat(sprintf("Limiting reagent: %s; theoretical yield of %s = %s g\n", lim, wanted,
            signif(min(test) * coef[[wanted]] * M[[wanted]], sig_figs)))

# ---- 6. One 300 dpi figure: moles of every substance --------------
png("stoichiometry.png", width = 2100, height = 1350, res = 300)
par(mar = c(4.5, 5, 3, 1))
barplot(coef * xi, names.arg = names(coef), las = 1, border = NA,
        col = ifelse(names(coef) %in% names(reactants), "#2563eb", "#16a34a"),
        xlab = "Substance (blue used, green formed)", ylab = "Amount (mol)",
        main = sprintf("%.2f g %s makes %s g %s", given_g, given, signif(m_wanted, sig_figs), wanted))
invisible(dev.off())
cat("Saved stoichiometry.png\n")

Output: Step 1 n(H2) = 4.00 g / 2.016 g/mol = 1.9841 mol, Step 3 m(H2O) = 1.9841 mol x 18.015 g/mol = 35.7 g, Verdict: Verified, reactants 35.744 g = products 35.744 g, Limiting reagent: O2; theoretical yield of H2O = 72.1 g.

10.2 R traps

  • coef[wanted] keeps the name; coef[[wanted]] gives the plain number. Use double brackets inside arithmetic.
  • signif() rounds to significant figures; round() rounds to decimal places.
  • R prints 4.00 as 4. Keep track of significant figures yourself with sig_figs.
  • The balance check compares sorted atom counts; an unbalanced equation stops the script before any number is printed.

10.3 What each part does

PartWhat it does
parse_formula()Counts atoms, multiplying through brackets and the hydrate dot
side_atoms()Totals each element on one side; both sides must match
n_given <- given_g / M[[given]]Step 1: grams to moles
ratio <- coef[[wanted]] / coef[[given]]Step 2: the mole ratio
m_wanted <- n_wanted * M[[wanted]]Step 3: moles to grams
stopifnot(abs(m_in - m_out) ...)The check: mass is conserved
which.min(test)The limiting reagent

10.4 Balancing in R

The script expects a balanced equation. To balance one in R, build the element-by-species matrix and find its null space with MASS::Null(), then scale to whole numbers; or balance it with the calculator in Section 2 and copy the coefficients from the balanced equation it shows.

10.5 The figure

The script saves stoichiometry.png at 2100 × 1350 pixels and 300 dpi: one bar per substance showing the moles used (blue) and formed (green), 1.98, 0.99 and 1.98 mol for the headline problem.

🐍 11. How to Do Stoichiometry Calculations in Python

This Python stoichiometry calculator program does the same job: it checks the equation is balanced, computes the molar masses, runs the three stoichiometry steps, prints a table of every substance, verifies conservation of mass, finds the limiting reagent and saves a 300 dpi chart. It is the same method the stoichiometry calculator runs in your browser.

matplotlib for the chart only

Install once: pip install matplotlib

11.1 The complete script

Python, saves stoichiometry.png

# ============================================================
# Stoichiometry in Python: grams -> moles -> mole ratio -> grams
# StatsUnlock - https://statsunlock.com/stoichiometry-calculator/
# pip install matplotlib
# ============================================================
import re
import matplotlib
matplotlib.use("Agg")
import matplotlib.pyplot as plt

# ---- 1. Your problem: the BALANCED equation as coefficients -----
reactants = {"H2": 2, "O2": 1}     # 2 H2 + O2 -> 2 H2O
products  = {"H2O": 2}
given, given_g = "H2", 4.00        # the amount you know, in grams
wanted = "H2O"                     # the substance you want
sig_figs = 3                       # significant figures in your data

# CIAAW 2024 standard atomic weights (g/mol); add any element you need
W = {"H": 1.008, "Li": 6.94, "C": 12.011, "N": 14.007, "O": 15.999, "F": 18.998,
     "Na": 22.990, "Mg": 24.305, "Al": 26.982, "Si": 28.085, "P": 30.974,
     "S": 32.06, "Cl": 35.45, "K": 39.098, "Ca": 40.078, "Mn": 54.938,
     "Fe": 55.845, "Cu": 63.546, "Zn": 65.38, "Br": 79.904, "Ag": 107.87,
     "I": 126.90, "Ba": 137.33, "Au": 196.97, "Pb": 207.2}

def parse_formula(f):
    """Count atoms in a formula such as Ca(OH)2, Al2(SO4)3 or CuSO4.5H2O."""
    total = {}
    for i, part in enumerate(re.split(r"[.*·]", f)):
        mult = 1
        m = re.match(r"^(\d+)(.*)$", part)
        if m and i > 0:                        # the 5 in CuSO4.5H2O
            mult, part = int(m.group(1)), m.group(2)
        tokens = re.findall(r"[A-Z][a-z]?|\d+|[()\[\]]", part)
        stack, j = [{}], 0
        while j < len(tokens):
            t = tokens[j]; j += 1
            if t in "([":
                stack.append({}); continue
            n = 1
            if j < len(tokens) and tokens[j].isdigit():
                n = int(tokens[j]); j += 1
            if t in ")]":                      # close a bracket, multiply what is inside
                for k, v in stack.pop().items():
                    stack[-1][k] = stack[-1].get(k, 0) + v * n
            else:                              # an element symbol
                stack[-1][t] = stack[-1].get(t, 0) + n
        for k, v in stack[0].items():
            total[k] = total.get(k, 0) + v * mult
    return total

def molar_mass(f):
    counts = parse_formula(f)
    missing = [e for e in counts if e not in W]
    if missing:
        raise SystemExit(f"Add the atomic weight of {missing} to W")
    return sum(n * W[e] for e, n in counts.items())

# ---- 2. Check the equation is balanced ---------------------------
def atoms(side):
    tot = {}
    for f, c in side.items():
        for e, n in parse_formula(f).items():
            tot[e] = tot.get(e, 0) + c * n
    return tot
if atoms(reactants) != atoms(products):
    raise SystemExit(f"Not balanced: {atoms(reactants)} vs {atoms(products)}")
coef = {**reactants, **products}
M = {f: molar_mass(f) for f in coef}

# ---- 3. The three steps ------------------------------------------
if given_g <= 0:
    raise SystemExit("The amount must be greater than zero")
n_given = given_g / M[given]                       # step 1: grams -> moles
ratio = coef[wanted] / coef[given]                 # step 2: mole ratio
n_wanted = n_given * ratio
m_wanted = n_wanted * M[wanted]                    # step 3: moles -> grams
print(f"Step 1  n({given}) = {given_g:.2f} g / {M[given]:.3f} g/mol = {n_given:.4f} mol")
print(f"Step 2  n({wanted}) = {n_given:.4f} mol x {coef[wanted]}/{coef[given]} = {n_wanted:.4f} mol")
print(f"Step 3  m({wanted}) = {n_wanted:.4f} mol x {M[wanted]:.3f} g/mol = {m_wanted:.{sig_figs}g} g")

# ---- 4. Stoichiometry table and mass balance ---------------------
xi = n_given / coef[given]                         # extent of reaction, mol
print(f"{'Substance':10}{'coef':>5}{'M g/mol':>10}{'mol':>10}{'g':>10}")
for f, c in coef.items():
    print(f"{f:10}{c:>5}{M[f]:>10.3f}{c * xi:>10.4f}{c * xi * M[f]:>10.3f}")
m_in = sum(c * xi * M[f] for f, c in reactants.items())
m_out = sum(c * xi * M[f] for f, c in products.items())
assert abs(m_in - m_out) < 1e-3 * m_in, "mass is not conserved"
print(f"Verdict: Verified, reactants {m_in:.3f} g = products {m_out:.3f} g")

# ---- 5. Limiting reagent (optional): grams of each reactant -------
start_g = {"H2": 10.0, "O2": 64.0}
test = {f: (g / M[f]) / reactants[f] for f, g in start_g.items()}
lim = min(test, key=test.get)
print(f"Limiting reagent: {lim}; theoretical yield of {wanted} = "
      f"{test[lim] * coef[wanted] * M[wanted]:.{sig_figs}g} g")

# ---- 6. One 300 dpi figure: moles of every substance --------------
names = list(coef)
fig, ax = plt.subplots(figsize=(7, 4.5))
ax.bar(names, [coef[f] * xi for f in names],
       color=["#2563eb" if f in reactants else "#16a34a" for f in names])
ax.set_xlabel("Substance (blue used, green formed)")
ax.set_ylabel("Amount (mol)")
ax.set_title(f"{given_g:.2f} g {given} makes {m_wanted:.{sig_figs}g} g {wanted}")
fig.tight_layout()
fig.savefig("stoichiometry.png", dpi=300)
print("Saved stoichiometry.png")

Output: Step 1 n(H2) = 4.00 g / 2.016 g/mol = 1.9841 mol, Step 2 n(H2O) = 1.9841 mol x 2/2 = 1.9841 mol, Step 3 m(H2O) = 1.9841 mol x 18.015 g/mol = 35.7 g, Limiting reagent: O2; theoretical yield of H2O = 72.1 g.

11.2 Python traps

  • Integer coefficients divide to floats in Python 3 (2/3 is 0.667), so the ratio is safe. In Python 2 it would be 0.
  • f"{m:.3g}" rounds to 3 significant figures; round(m, 3) rounds to 3 decimal places.
  • 6.02214076e23 is how Python writes 6.022 × 1023; 6.022*10^23 is wrong because ^ is bitwise XOR.
  • Dictionary keys are case sensitive: "CO" and "Co" are different substances, as they should be.

11.3 Using packages

With pip install sympy, sympy.Matrix(A).nullspace() balances an equation from its element matrix. The chempy package offers balance_stoichiometry({'H2','O2'}, {'H2O'}), which returns the coefficients 2, 1 and 2 directly.

11.4 What each part does

PartWhat it does
atoms(reactants) != atoms(products)Stops if the equation is not balanced
n_given = given_g / M[given]Step 1
ratio = coef[wanted] / coef[given]Step 2
m_wanted = n_wanted * M[wanted]Step 3
xi = n_given / coef[given]Extent of reaction, used to fill the table
min(test, key=test.get)The limiting reagent

11.5 The figure

The script saves stoichiometry.png at 300 dpi with the moles of each substance, reactants in blue and products in green.

📋 12. Stoichiometry Reference Tables and Worksheets

12.1 Mole ratios in common reactions

Each balanced equation and number below was computed by the same engine as the stoichiometry calculator. The last column is a quick check for gram to gram stoichiometry: the grams of the main product made from exactly 1.00 g of the first reactant.

ReactionBalanced equationKey mole ratioProduct from 1.00 g of first reactant
Burning hydrogen2 H2 + O2 → 2 H2O2 mol H2O : 2 mol H28.94 g H2O
Haber processN2 + 3 H2 → 2 NH32 mol NH3 : 1 mol N21.22 g NH3
Burning methaneCH4 + 2 O2 → CO2 + 2 H2O1 mol CO2 : 1 mol CH42.74 g CO2
Burning propaneC3H8 + 5 O2 → 3 CO2 + 4 H2O3 mol CO2 : 1 mol C3H82.99 g CO2
RespirationC6H12O6 + 6 O2 → 6 CO2 + 6 H2O6 mol CO2 : 1 mol C6H12O61.47 g CO2
Photosynthesis6 CO2 + 6 H2O → C6H12O6 + 6 O21 mol C6H12O6 : 6 mol CO20.682 g C6H12O6
Limestone decompositionCaCO3 → CaO + CO21 mol CaO : 1 mol CaCO30.560 g CaO
Blast furnaceFe2O3 + 3 CO → 2 Fe + 3 CO22 mol Fe : 1 mol Fe2O30.699 g Fe
ThermiteFe2O3 + 2 Al → Al2O3 + 2 Fe2 mol Fe : 1 mol Fe2O30.699 g Fe
Oxygen from KClO32 KClO3 → 2 KCl + 3 O23 mol O2 : 2 mol KClO30.392 g O2
Zinc and acidZn + 2 HCl → ZnCl2 + H21 mol H2 : 1 mol Zn0.0308 g H2
NeutralisationH2SO4 + 2 NaOH → Na2SO4 + 2 H2O1 mol Na2SO4 : 1 mol H2SO41.45 g Na2SO4
Baking soda and acidNaHCO3 + HCl → NaCl + H2O + CO21 mol CO2 : 1 mol NaHCO30.524 g CO2
Rusting4 Fe + 3 O2 → 2 Fe2O32 mol Fe2O3 : 4 mol Fe1.43 g Fe2O3
Burning magnesium2 Mg + O2 → 2 MgO2 mol MgO : 2 mol Mg1.66 g MgO

12.2 Molar masses of common reactants and products

SubstanceFormulaMolar mass (g/mol)Moles in 1.00 gMoles in 10.0 g
HydrogenH22.0160.4964.96
OxygenO231.9980.03130.313
NitrogenN228.0140.03570.357
WaterH2O18.0150.05550.555
Carbon dioxideCO244.0090.02270.227
Carbon monoxideCO28.0100.03570.357
AmmoniaNH317.0310.05870.587
MethaneCH416.0430.06230.623
PropaneC3H844.0970.02270.227
GlucoseC6H12O6180.1560.005550.0555
Calcium carbonateCaCO3100.0860.009990.0999
Calcium oxideCaO56.0770.01780.178
Iron(III) oxideFe2O3159.6870.006260.0626
Sodium chlorideNaCl58.4400.01710.171
Sodium hydroxideNaOH39.9970.02500.250
Hydrochloric acid (HCl)HCl36.4580.02740.274
Sulfuric acidH2SO498.0720.01020.102
Sodium hydrogen carbonateNaHCO384.0060.01190.119
Potassium chlorateKClO3122.5450.008160.0816
Aluminium oxideAl2O3101.9610.009810.0981

Molar masses from CIAAW 2024 standard atomic weights. Exam papers often use rounded values (H 1, C 12, O 16, Cl 35.5), which change only the last digit.

12.3 Molar volume of a gas for gas stoichiometry

ConditionTemperaturePressureMolar volume Vm
STP (IUPAC, since 1982)0 °C (273.15 K)100 kPa (1 bar)22.711 L/mol
STP (older texts, CBSE)0 °C (273.15 K)101.325 kPa (1 atm)22.414 L/mol
SATP25 °C (298.15 K)100 kPa (1 bar)24.790 L/mol
RTP (GCSE, IGCSE)about 20 to 25 °Cabout 1 atm24.0 dm3/mol (agreed value)

Vm = RT ÷ P with R = 8.314 462 618 J mol−1 K−1. CBSE and older textbooks use 22.4 L at 0 °C and 1 atm; IUPAC STP since 1982 is 0 °C and 1 bar.

12.4 Stoichiometry conversion factors at a glance

FromTo molesFrom molesUnit check
Mass (g)÷ M× Mg × mol/g = mol
Gas volume (L)÷ Vm× VmL × mol/L = mol
Solution (L and M)× c÷ cL × mol/L = mol
Particles÷ 6.022 × 1023× 6.022 × 1023particles × mol/particles = mol
Moles of A× (coefficient of B ÷ coefficient of A) gives moles of Bmol A × mol B/mol A = mol B

12.5 Stoichiometry worksheet with answers: mole-mole, gram to mole and gram to gram calculations

Twenty-five stoichiometry calculations in the three classic worksheet groups: mole-mole calculations, gram to mole calculations and mass-mass (gram to gram) calculations. Every answer was checked by the calculator engine with CIAAW 2024 atomic weights. Cover the last two columns and try them first; answers with rounded exam weights may differ in the last digit.

📄 Download the Stoichiometry Worksheet (PDF)

Free printable stoichiometry calculations questions and answers (PDF).

#TypeQuestionWorkingAnswer
Worksheet 1: unit stoichiometry mole-mole calculations
1Mole to moleIn N2 + 3 H2 → 2 NH3, how many moles of NH3 form from 2.00 mol of N2?2.00 mol × 2/14.00 mol NH3
2Mole to moleIn 2 H2 + O2 → 2 H2O, how many moles of H2O form from 5.00 mol of O2?5.00 mol × 2/110.0 mol H2O
3Mole to moleIn C3H8 + 5 O2 → 3 CO2 + 4 H2O, how many moles of O2 react with 0.500 mol of C3H8?0.500 mol × 5/12.50 mol O2
4Mole to moleIn 4 Al + 3 O2 → 2 Al2O3, how many moles of Al2O3 form from 4.00 mol of Al?4.00 mol × 2/42.00 mol Al2O3
5Mole to moleIn 2 KClO3 → 2 KCl + 3 O2, how many moles of O2 form from 3.00 mol of KClO3?3.00 mol × 3/24.50 mol O2
6Mole to moleIn 4 Fe + 3 O2 → 2 Fe2O3, how many moles of Fe react with 1.50 mol of O2?1.50 mol × 4/32.00 mol Fe
7Mole to moleIn CH4 + 2 O2 → CO2 + 2 H2O, how many moles of H2O form from 0.250 mol of CH4?0.250 mol × 2/10.500 mol H2O
8Mole to moleIn Zn + 2 HCl → ZnCl2 + H2, how many moles of H2 form from 0.600 mol of HCl?0.600 mol × 1/20.300 mol H2
Worksheet 2: gram to mole and mole to gram calculations (answer key)
9Gram to moleIn 2 H2 + O2 → 2 H2O, how many moles of H2O form from 8.00 g of O2?8.00 g ÷ 31.998 × 2/10.500 mol H2O
10Gram to moleIn 2 Mg + O2 → 2 MgO, how many moles of MgO form from 4.86 g of Mg?4.86 g ÷ 24.305 × 2/20.200 mol MgO
11Gram to moleIn CaCO3 → CaO + CO2, how many moles of CO2 form from 50.0 g of CaCO3?50.0 g ÷ 100.086 × 1/10.500 mol CO2
12Mole to gramIn 2 Na + Cl2 → 2 NaCl, how many grams of Cl2 are needed to make 0.400 mol of NaCl?0.400 mol × 1/2 × 70.90014.2 g Cl2
13Mole to gramIn N2 + 3 H2 → 2 NH3, how many grams of H2 are needed to make 2.50 mol of NH3?2.50 mol × 3/2 × 2.0167.56 g H2
14Gram to moleIn C6H12O6 + 6 O2 → 6 CO2 + 6 H2O, how many moles of CO2 form from 18.0 g of C6H12O6?18.0 g ÷ 180.156 × 6/10.599 mol CO2
15Mole to gramIn Fe2O3 + 3 CO → 2 Fe + 3 CO2, how many grams of Fe form from 0.250 mol of Fe2O3?0.250 mol × 2/1 × 55.84527.9 g Fe
16Gram to moleIn 2 Al + 6 HCl → 2 AlCl3 + 3 H2, how many moles of H2 form from 2.70 g of Al?2.70 g ÷ 26.982 × 3/20.150 mol H2
Worksheet 3: gram to gram (mass-mass) calculations (answers)
17Gram to gramIn 2 H2 + O2 → 2 H2O, how many grams of H2O form from 8.00 g of H2?8.00 g ÷ 2.016 × 2/2 × 18.01571.5 g H2O
18Gram to gramIn N2 + 3 H2 → 2 NH3, how many grams of NH3 form from 14.0 g of N2?14.0 g ÷ 28.014 × 2/1 × 17.03117.0 g NH3
19Gram to gramIn CH4 + 2 O2 → CO2 + 2 H2O, how many grams of CO2 form from 8.00 g of CH4?8.00 g ÷ 16.043 × 1/1 × 44.00921.9 g CO2
20Gram to gramIn 4 Al + 3 O2 → 2 Al2O3, how many grams of Al2O3 form from 5.40 g of Al?5.40 g ÷ 26.982 × 2/4 × 101.96110.2 g Al2O3
21Gram to gramIn 2 KClO3 → 2 KCl + 3 O2, how many grams of O2 form from 12.25 g of KClO3?12.25 g ÷ 122.545 × 3/2 × 31.9984.798 g O2
22Gram to gramIn C3H8 + 5 O2 → 3 CO2 + 4 H2O, how many grams of H2O form from 22.0 g of C3H8?22.0 g ÷ 44.097 × 4/1 × 18.01536.0 g H2O
23Gram to gramIn Fe2O3 + 2 Al → Al2O3 + 2 Fe, how many grams of Fe form from 80.0 g of Fe2O3?80.0 g ÷ 159.687 × 2/1 × 55.84556.0 g Fe
24Gram to gramIn NaHCO3 + HCl → NaCl + H2O + CO2, how many grams of CO2 form from 2.10 g of NaHCO3?2.10 g ÷ 84.006 × 1/1 × 44.0091.10 g CO2
25Gram to gramIn CuO + H2 → Cu + H2O, how many grams of Cu form from 7.95 g of CuO?7.95 g ÷ 79.545 × 1/1 × 63.5466.35 g Cu

📈 13. Stoichiometry Calculation Examples

Eight stoichiometry calculation examples run through the calculator, from a textbook gram to gram problem to an Avogadro’s number problem. Each figure is drawn from the computed numbers: one bar per substance, length proportional to its moles, blue for reactants used and green for products formed.

1
GRAM TO GRAM

Burning 4.00 g of hydrogen

The textbook mass to mass stoichiometry problem.

What mass of water forms when 4.00 g of hydrogen burns completely in oxygen?

35.7 g H2O2 : 1 : 23 s.f.Mass conserved
SpeciesRoleCoefficientM (g/mol)MolesGrams
H2Reactant22.0161.9844.000
O2Reactant131.9980.992131.74
H2OProduct218.0151.98435.74
Moles of each species: Burning 4.00 g of hydrogen2 H₂ + O₂ → 2 H₂OH₂1.98 mol usedO₂0.992 mol usedH₂O1.98 mol formed
Bar length is the moles of each species used or formed, computed from the balanced equation.

What it means: 4.00 g of H2 is 1.984 mol. The 2 : 2 ratio gives 1.984 mol of water, which is 35.7 g. The 31.7 g of oxygen used plus the 4.00 g of hydrogen equals the 35.7 g of water: mass is conserved.

How to write it: m(H2O) = 4.00 g ÷ 2.016 g/mol × 2/2 × 18.015 g/mol = 35.7 g

2
MOLE TO MOLE

Ammonia from 3.00 mol of hydrogen

Mole to mole needs only the ratio.

In the Haber process, N2 + 3 H2 → 2 NH3, how many moles of ammonia form from 3.00 mol of hydrogen?

2.00 mol NH31 : 3 : 23 s.f.Mass conserved
SpeciesRoleCoefficientM (g/mol)MolesGrams
N2Reactant128.0141.00028.01
H2Reactant32.0163.0006.048
NH3Product217.0312.00034.06
Moles of each species: Ammonia from 3.00 mol of hydrogenN₂ + 3 H₂ → 2 NH₃N₂1.00 mol usedH₂3.00 mol usedNH₃2.00 mol formed
Bar length is the moles of each species used or formed, computed from the balanced equation.

What it means: n(NH3) = 3.00 × 2/3 = 2.00 mol. It uses 1.00 mol (28.0 g) of nitrogen and makes 34.1 g of ammonia. No molar masses are needed for the mole answer itself.

How to write it: n(NH3) = 3.00 mol H2 × (2 mol NH3 / 3 mol H2) = 2.00 mol

3
GAS STOICHIOMETRY

CO2 from heating 25.0 g of limestone

Mass to volume: finish with the molar volume.

What volume of carbon dioxide at STP (0 °C, 1 bar) is released when 25.0 g of calcium carbonate is heated?

5.67 L CO21 : 1 : 13 s.f.Mass conserved
SpeciesRoleCoefficientM (g/mol)MolesGrams
CaCO3Reactant1100.0860.249825.00
CaOProduct156.0770.249814.01
CO2Product144.0090.249810.99
Moles of each species: CO₂ from heating 25.0 g of limestoneCaCO₃ → CaO + CO₂CaCO₃0.250 mol usedCaO0.250 mol formedCO₂0.250 mol formed
Bar length is the moles of each species used or formed, computed from the balanced equation.

What it means: 25.0 g ÷ 100.086 g/mol = 0.2498 mol of CaCO3, which gives 0.2498 mol of CO2 (1 : 1). At 22.711 L/mol that is 5.67 L, or 5.60 L at the older 22.414 L/mol. The solid left is 14.0 g of CaO.

How to write it: V(CO2) = 25.0 g ÷ 100.086 g/mol × 1/1 × 22.711 L/mol = 5.67 L

4
SOLUTION STOICHIOMETRY

Titrating NaOH with sulfuric acid

Molarity times volume gives moles.

What volume of 0.0500 M H2SO4 neutralises 25.0 mL of 0.100 M NaOH?

25.0 mL of 0.0500 M H2SO41 : 2 : 1 : 23 s.f.Mass conserved
SpeciesRoleCoefficientM (g/mol)MolesGrams
H2SO4Reactant198.0720.0012500.1226
NaOHReactant239.9970.0025000.09999
Na2SO4Product1142.0360.0012500.1775
H2OProduct218.0150.0025000.04504
Moles of each species: Titrating NaOH with sulfuric acidH₂SO₄ + 2 NaOH → Na₂SO₄ + 2 H₂OH₂SO₄0.00125 mol usedNaOH0.00250 mol usedNa₂SO₄0.00125 mol formedH₂O0.00250 mol formed
Bar length is the moles of each species used or formed, computed from the balanced equation.

What it means: n(NaOH) = 0.100 × 0.0250 = 2.50 mmol. H2SO4 + 2 NaOH needs half that, 1.25 mmol, and 1.25 mmol ÷ 0.0500 M = 25.0 mL. The 2 : 1 ratio and the 1 : 2 concentrations cancel, so the volumes match.

How to write it: V = 0.0250 L × 0.100 M × 1/2 ÷ 0.0500 M = 0.0250 L = 25.0 mL

5
LIMITING REAGENT

10.0 g of H2 with 64.0 g of O2

The reactant with fewer grams is not always the limiting one.

Hydrogen (10.0 g) and oxygen (64.0 g) react. Which runs out first, and how much water forms?

72.1 g H2O2 : 1 : 23 s.f.Mass conserved
SpeciesRoleCoefficientM (g/mol)MolesGrams
H2Reactant22.0164.0008.065
O2Reactant131.9982.00064.00
H2OProduct218.0154.00072.06
Moles of each species: 10.0 g of H₂ with 64.0 g of O₂2 H₂ + O₂ → 2 H₂OH₂4.00 mol usedO₂2.00 mol usedH₂O4.00 mol formed
Bar length is the moles of each species used or formed, computed from the balanced equation.

What it means: H2: 4.960 mol ÷ 2 = 2.480; O2: 2.000 mol ÷ 1 = 2.000. Oxygen gives the smaller number, so it is limiting. 4.000 mol of water forms, 72.1 g, and 1.94 g of hydrogen is left over.

How to write it: O2 is limiting; theoretical yield = 4.000 mol × 18.015 g/mol = 72.1 g H2O

6
PERCENT YIELD

Iron from 100.0 g of iron(III) oxide

Theoretical yield first, then compare.

In a blast furnace model, Fe2O3 + 3 CO → 2 Fe + 3 CO2. 100.0 g of Fe2O3 gives 60.0 g of iron. What is the percent yield?

69.94 g Fe1 : 3 : 2 : 34 s.f.Mass conserved
SpeciesRoleCoefficientM (g/mol)MolesGrams
Fe2O3Reactant1159.6870.6262100.0
COReactant328.0101.87952.62
FeProduct255.8451.25269.94
CO2Product344.0091.87982.68
Moles of each species: Iron from 100.0 g of iron(III) oxideFe₂O₃ + 3 CO → 2 Fe + 3 CO₂Fe₂O₃0.626 mol usedCO1.88 mol usedFe1.25 mol formedCO₂1.88 mol formed
Bar length is the moles of each species used or formed, computed from the balanced equation.

What it means: 100.0 g ÷ 159.687 g/mol = 0.6262 mol Fe2O3, × 2 = 1.252 mol Fe, × 55.845 g/mol = 69.94 g theoretical yield. 60.0 ÷ 69.94 × 100 = 85.8%.

How to write it: Theoretical yield 69.94 g; % yield = 60.0 ÷ 69.94 × 100 = 85.8%

7
JEE / NEET REDOX

Permanganate and iron(II) in acid

Balance with H+ and H2O first.

How many moles of Fe2+ react with 0.0200 mol of MnO4− in acidic solution?

0.100 mol Fe2+1 : 5 : 8 : 1 : 5 : 43 s.f.Mass conserved
SpeciesRoleCoefficientM (g/mol)MolesGrams
MnO4−Reactant1118.9340.020002.379
Fe2+Reactant555.8450.10005.585
H+ (added)Reactant81.0080.16000.1613
Mn2+Product154.9380.020001.099
Fe3+Product555.8450.10005.585
H2O (added)Product418.0150.080001.441
Moles of each species: Permanganate and iron(II) in acidMnO₄⁻ + 5 Fe²⁺ + 8 H⁺ → Mn²⁺ + 5 Fe³⁺ + 4 H₂OMnO₄⁻0.0200 mol usedFe²⁺0.100 mol usedH⁺0.160 mol usedMn²⁺0.0200 mol formedFe³⁺0.100 mol formedH₂O0.0800 mol formed
Bar length is the moles of each species used or formed, computed from the balanced equation.

What it means: The balanced equation is MnO4− + 5 Fe2+ + 8 H+ → Mn2+ + 5 Fe3+ + 4 H2O, so n(Fe2+) = 0.0200 × 5 = 0.100 mol. It also uses 0.160 mol of H+, which is why permanganate titrations need excess acid.

How to write it: n(Fe2+) = 0.0200 mol MnO4− × (5 / 1) = 0.100 mol

8
AVOGADRO'S NUMBER

3.01 × 1023 sodium atoms to salt

Particles in, grams out.

How many grams of sodium chloride form from 3.01 × 1023 atoms of sodium in 2 Na + Cl2 → 2 NaCl?

29.2 g NaCl2 : 1 : 23 s.f.Mass conserved
SpeciesRoleCoefficientM (g/mol)MolesGrams
NaReactant222.9900.499811.49
Cl2Reactant170.9000.249917.72
NaClProduct258.4400.499829.21
Moles of each species: 3.01 × 10²³ sodium atoms to salt2 Na + Cl₂ → 2 NaClNa0.500 mol usedCl₂0.250 mol usedNaCl0.500 mol formed
Bar length is the moles of each species used or formed, computed from the balanced equation.

What it means: 3.01 × 1023 ÷ 6.022 × 1023 = 0.500 mol Na, giving 0.500 mol NaCl (2 : 2) = 29.2 g. It needs 17.7 g of chlorine.

How to write it: m(NaCl) = 3.01 × 1023 ÷ 6.022 × 1023 × 2/2 × 58.44 g/mol = 29.2 g

✏️ 14. How to Calculate Stoichiometry Problems by Hand, Step by Step

This is the written method examiners expect, on the same problem as Sections 7, 9, 10 and 11: what mass of water forms when 4.00 g of hydrogen burns in oxygen?

14.1 The written method

  1. Write and balance the equation. 2 H2 + O2 → 2 H2O.
  2. Write what you know and what you want under the equation. 4.00 g under H2, ? g under H2O.
  3. Work out the molar masses you need. M(H2) = 2 × 1.008 = 2.016 g/mol; M(H2O) = 2 × 1.008 + 15.999 = 18.015 g/mol.
  4. Step 1: convert to moles. n(H2) = 4.00 g ÷ 2.016 g/mol = 1.984 mol.
  5. Step 2: use the mole ratio. n(H2O) = 1.984 mol × 2/2 = 1.984 mol.
  6. Step 3: convert to the unit asked for. m(H2O) = 1.984 mol × 18.015 g/mol = 35.74 g.
  7. Round once, at the end. 4.00 has 3 significant figures, so m = 35.7 g.
  8. Check. Oxygen used = 0.992 mol × 31.998 = 31.7 g, and 4.00 + 31.7 = 35.7 g. Mass is conserved.

For a gas, replace step 3 with V = n × Vm. For a solution, use n = c × V in step 1 or V = n ÷ c in step 3. For a limiting reagent problem, do step 1 for every reactant and divide each by its coefficient before step 2.

14.2 How to calculate moles in stoichiometry

Turn whatever you are given into moles first: n = m ÷ M for a mass, n = V ÷ Vm for a gas, n = c × V for a solution and n = N ÷ NA for particles. Then multiply by the mole ratio. For 4.00 g of H2: n = 4.00 ÷ 2.016 = 1.984 mol, and n(H2O) = 1.984 × 2/2 = 1.984 mol.

14.3 How to calculate mass in stoichiometry

Multiply the moles of the wanted substance by its molar mass: m = n × M. Water from the example: 1.984 mol × 18.015 g/mol = 35.7 g. Oxygen used: 0.992 mol × 31.998 g/mol = 31.7 g.

14.4 How to calculate volume in stoichiometry

For a gas, multiply moles by the molar volume: 0.2498 mol of CO2 × 22.711 L/mol = 5.67 L at 0 °C and 1 bar. For a solution, divide moles by molarity: 1.25 mmol of H2SO4 ÷ 0.0500 mol/L = 25.0 mL.

14.5 How to calculate theoretical yield using stoichiometry

Find the limiting reagent, take its moles through the mole ratio to the product, and convert to grams. With 10.0 g of H2 and 64.0 g of O2, oxygen limits and the theoretical yield is 4.000 mol × 18.015 = 72.1 g of water. Percent yield is then actual ÷ theoretical × 100; collecting 60.0 g of iron when 69.94 g was possible is an 85.8% yield.

14.6 On a scientific calculator

On a Casio fx-991EX or fx-82MS the whole calculation is one line: 4 ÷ 2.016 × 2 ÷ 2 × 18.015 = gives 35.744. Working left to right keeps full precision; do not round 1.984 before multiplying.

For particles, use the ×10x (or EXP) key for 6.022 × 1023, never × 10 ^ 23 typed by hand. Key names differ between models; check your manual.

14.7 Do it in the lab: testing stoichiometry with baking soda and acid

Predicting the mass of CO2 lost from NaHCO3 + HCl

  1. Weigh about 2 g of sodium hydrogen carbonate (baking soda) into a dry conical flask, and record the mass to 0.01 g.
  2. Measure 30 mL of 1.0 M hydrochloric acid, an excess, into a beaker. Weigh the flask, the solid and the beaker of acid together.
  3. Pour the acid onto the solid a little at a time, swirling, until no more bubbles form. Put the empty beaker back on the balance with the flask.
  4. Reweigh. The loss in mass is the carbon dioxide that escaped.
  5. Predict the CO2 with the stoichiometry calculator (NaHCO3 + HCl → NaCl + H2O + CO2, 1 : 1 ratio) and work out the percent yield.

Hazards: 1.0 M hydrochloric acid irritates the eyes and skin. Wear eye protection, add the acid slowly so the mixture does not froth over, and wipe up spills with plenty of water. The products (salt water and CO2) are low hazard. Follow your school’s risk assessment.

Main errors: CO2 stays dissolved in the solution (yield too low), acid spray escapes with the gas (yield too high), and the acid is not in excess (yield too low because NaHCO3 is not limiting).

MeasurementValueWorking
Sodium hydrogen carbonate used2.10 gn = 2.10 ÷ 84.006 = 0.0250 mol
Flask, solid and acid before152.36 g
Flask and contents after151.34 g
Mass of CO2 lost (actual yield)1.02 g152.36 − 151.34
Predicted CO2 (theoretical yield)1.10 g0.0250 mol × 1/1 × 44.009
Percent yield92.7%1.02 ÷ 1.100 × 100

Example data. A yield of 92.7% is typical for this experiment: some CO2 stays dissolved in the acid. The mass loss (1.02 g) has three significant figures, so the yield is good to about ±1%.

14.8 Stoichiometry practice problems with answers (word problems)

Ten stoichiometry word problems, easy to hard, covering every problem type the calculator solves, including a multi-step reaction sequence (problem 9). Open each one to see the worked answer.

1. Propane, C3H8, burns in oxygen. How many moles of CO2 form from 2.00 mol of propane?

C3H8 + 5 O2 → 3 CO2 + 4 H2O; n = 2.00 mol; n(CO2) = 2.00000 mol C3H8 × (3 mol CO2 / 1 mol C3H8) = 6.00000 mol. Answer: 6.00 mol CO2

2. What mass of magnesium oxide forms when 12.0 g of magnesium burns in oxygen?

2 Mg + O2 → 2 MgO; n = m ÷ M = 12.0 g ÷ 24.305 g/mol = 0.493726 mol; n(MgO) = 0.493726 mol Mg × (2 mol MgO / 2 mol Mg) = 0.493726 mol; m = n × M = 0.493726 mol × 40.304 g/mol = 19.8991 g. Answer: 19.9 g MgO

3. 6.54 g of zinc reacts with excess hydrochloric acid. What volume of hydrogen forms at STP (0 °C, 1 bar)?

Zn + 2 HCl → ZnCl2 + H2; n = m ÷ M = 6.54 g ÷ 65.380 g/mol = 0.100031 mol; n(H2) = 0.100031 mol Zn × (1 mol H2 / 1 mol Zn) = 0.100031 mol; V = n × Vm = 0.100031 mol × 22.711 L/mol = 2.27179 L. Answer: 2.27 L H2

4. What mass of sodium carbonate reacts with 20.0 mL of 0.150 M hydrochloric acid?

Na2CO3 + 2 HCl → 2 NaCl + H2O + CO2; n = c × V = 0.150 mol/L × 0.020000 L = 0.00300000 mol; n(Na2CO3) = 0.00300000 mol HCl × (1 mol Na2CO3 / 2 mol HCl) = 0.00150000 mol; m = n × M = 0.00150000 mol × 105.988 g/mol = 0.158982 g. Answer: 0.159 g Na2CO3

5. 28.0 g of nitrogen and 9.00 g of hydrogen react. Which is limiting, and what mass of ammonia forms?

N2 + 3 H2 → 2 NH3; n = m ÷ M = 28.0 g ÷ 28.014 g/mol = 0.999500 mol; n = m ÷ M = 9.00 g ÷ 2.016 g/mol = 4.46429 mol; N2: 0.99950 ÷ 1 = 0.99950; H2: 4.4643 ÷ 3 = 1.4881; extent ξ = 0.99950 mol; NH3: 2 × 0.99950 = 1.9990 mol = 34.0 g; H2: 4.4643 − 2.9985 = 1.47 mol = 2.96 g. Answer: N2 is limiting; 34.0 g NH3

6. Heating 50.0 g of calcium carbonate gives 25.2 g of calcium oxide. What is the percent yield?

CaCO3 → CaO + CO2; n = m ÷ M = 50.0 g ÷ 100.086 g/mol = 0.499570 mol; n(CaO) = 0.499570 mol CaCO3 × (1 mol CaO / 1 mol CaCO3) = 0.499570 mol; m = n × M = 0.499570 mol × 56.077 g/mol = 28.0144 g; % yield = actual ÷ theoretical × 100 = 25.20 g ÷ 28.014 g × 100 = 90.0%. Answer: 28.0 g CaO, 90.0% yield

7. What mass of oxygen is needed to make 1.204 × 1024 molecules of water from hydrogen?

2 H2 + O2 → 2 H2O; n = N ÷ NA = 1.204 × 1024 ÷ 6.02214076 × 1023 = 1.999289 mol; n(O2) = 1.999289 mol H2O × (1 mol O2 / 2 mol H2O) = 0.9996445 mol; m = n × M = 0.9996445 mol × 31.998 g/mol = 31.98663 g. Answer: 31.99 g O2

8. Copper reacts with silver nitrate solution. What mass of silver forms from 3.18 g of copper?

Cu + 2 AgNO3 → Cu(NO3)2 + 2 Ag; n = m ÷ M = 3.18 g ÷ 63.546 g/mol = 0.0500425 mol; n(Ag) = 0.0500425 mol Cu × (2 mol Ag / 1 mol Cu) = 0.100085 mol; m = n × M = 0.100085 mol × 107.870 g/mol = 10.7962 g. Answer: 10.8 g Ag

9. Reaction sequence: 12.0 g of carbon is burned to CO (2 C + O2 → 2 CO), and all the CO reduces Fe2O3 to iron. What mass of iron can form?

Step A: n(C) = 12.0 ÷ 12.011 = 0.9991 mol, so n(CO) = 0.9991 mol (2 : 2). Step B: Fe2O3 + 3 CO → 2 Fe + 3 CO2, so n(Fe) = 0.9991 × 2/3 = 0.6661 mol × 55.845 = 37.2 g Fe

10. What volume of ammonia gas forms from 10.0 L of nitrogen, both measured at the same temperature and pressure?

N2 + 3 H2 → 2 NH3; n = V ÷ Vm = 10.000 L ÷ 22.711 L/mol = 0.440316 mol; n(NH3) = 0.440316 mol N2 × (2 mol NH3 / 1 mol N2) = 0.880632 mol; V = n × Vm = 0.880632 mol × 22.711 L/mol = 20.0000 L. Answer: 20.0 L NH3

📄 Download the Stoichiometry Worksheet (PDF)

Want more practice on paper? Print the worksheet and check your answers.

14.9 Mistakes that lose marks

Research on stoichiometry finds students often apply the mole ratio to masses, or confuse the subscripts in a formula with the coefficients in front of it (Yarroch, 1985; Sanger, 2005; Dori & Hameiri, 2003).

  • Using an unbalanced equation, so the mole ratio is wrong.
  • Multiplying grams by the mole ratio instead of moles.
  • Turning the mole ratio upside down: the substance you want goes on top.
  • Using 16 g/mol for oxygen gas instead of 32 g/mol for O2, or 1 g/mol for H2 instead of 2.
  • Forgetting to change mL to L before using molarity.
  • Using the reactant in excess instead of the limiting reagent to find the yield.
  • Rounding the moles in the middle of the calculation.

✅ 15. When Should You Use a Stoichiometry Calculator?

Use stoichiometry when:
  • You know the amount of one substance in a reaction and need another.
  • You need the mass of reagent to weigh out for a reaction.
  • You need a theoretical yield, a percent yield or the limiting reagent.
  • You are working out a titration result from a balanced equation.
Use something else when:
  • There is no reaction, just one substance: use a grams to moles conversion.
  • The reaction is at equilibrium and does not go to completion: use an equilibrium (ICE) table with K.
  • You only know percent composition: use an empirical formula method.
  • The gas is at high pressure or near condensation: use a real-gas equation.

Four real examples

SituationProblem typeResult
Heating 25.0 g of limestone, CaCO3 → CaO + CO2Mass to gas volume5.67 L CO2 at IUPAC STP
Titrating 25.0 mL of 0.100 M NaOH with 0.0500 M H2SO4Solution stoichiometry25.0 mL of acid
Blast furnace: 100.0 g Fe2O3, 60.0 g of iron collectedTheoretical and percent yield69.94 g theoretical, 85.8% yield
Breathing out the CO2 from 90.0 g of glucoseMass to gas volume at SATP74.3 L CO2

Decision tree

  1. Is there a balanced (or balanceable) reaction? No: this is a single-substance conversion. Yes: go on.
  2. Do you know the amount of only one substance? Yes: one known amount mode. No: go on.
  3. Do you know amounts of two or more reactants? Yes: limiting reagent mode.
  4. Do you have an actual yield? Yes: type it in to get the percent yield.

🔧 16. Stoichiometry Calculator Troubleshooting and Common Mistakes

"This equation cannot be balanced"

Cause: a substance is missing or a formula is wrong, so no whole-number coefficients exist. CO2 + H2O -> C6H12O6 has no O2 product. Fix: add the missing substance (CO2 + H2O -> C6H12O6 + O2) and check each formula.

"Element symbols start with a capital letter"

Cause: a lowercase formula such as h2o. Fix: type H2O. Check pasted text from phones, which may change capitals.

My answer differs from the textbook in the last digit

Cause: a different set of atomic weights. Fix: switch to rounded exam values in Section 2. With H = 1 and O = 16, 4.00 g of H2 gives 36.0 g of water instead of 35.7 g.

My gas volume is about 1% different from the book

Cause: the book uses 22.4 L/mol (0 °C, 1 atm) and the calculator default is 22.711 L/mol (0 °C, 1 bar). Fix: pick the older STP in the gas conditions box.

The substance I want is not in the list

Cause: the lists fill from the equation, so a typo makes a different substance. Fix: check the formula preview under the equation box; the lists update as you type.

"Enter the molarity of the solution"

Cause: a solution amount or a solution answer needs a concentration. Fix: type it in mol/L, for example 0.100. Volumes can be in mL or L; the calculator converts.

My percent yield is over 100%

Cause: the product was wet or impure, a mass was misread, or the wrong product was chosen. Fix: dry the product to constant mass and check that the species to find is the one you weighed.

The limiting reagent mode says I need two reactants

Cause: only one reactant amount was typed. Fix: enter at least two, or switch to one known amount mode if the other reactant is in excess.

An ionic redox equation will not balance

Cause: H+, OH− or H2O is missing. Fix: choose acidic or basic solution, and the calculator adds them (MnO4− + Fe2+ in acid balances with 8 H+ and 4 H2O).

My power of ten is ignored

Cause: a symbol the box cannot read. Fix: type 3.01e23 or 3.01 x 10^23.

⚖️ 17. Assumptions and Limitations of the Stoichiometry Calculator

AssumptionWhat it requiresHow to checkIf it fails
The reaction goes to completionThe limiting reagent is used upA large equilibrium constant, or excess of the other reactantThe real yield is lower than the theoretical yield
Only the reaction you typed happensNo side reactionsKnown chemistry of the systemProduct yield is overestimated
The equation is the right oneCorrect formulas and productsCompare with a data bookEvery number is wrong, even though it balances
Pure reagentsAll the mass is the substance in the formulaPurity on the labelMoles of reagent are overestimated
Ideal gas (gas volumes only)Low pressure, temperature well above the boiling pointIs the substance a gas at those conditions?Volumes a few percent off for real gases; meaningless for liquids such as water at 25 °C

Limitations. A stoichiometry calculator gives the amounts a balanced equation allows; it cannot tell you whether a reaction actually happens, how fast it goes or where its equilibrium lies. When an equation has more than one independent set of coefficients (two reactions written as one), the calculator reports it rather than guessing. Molar masses of ions ignore the electron mass.

🎯 18. Conclusion

Your answer: ___ . Solve a problem above to add your own summary here.

What the answer is

A stoichiometry calculator converts a known amount to moles, applies the mole ratio from the balanced equation, and converts back to the unit you need. For the headline problem, 4.00 g of hydrogen makes 35.7 g of water and uses 31.7 g of oxygen.

What it means chemically

The coefficients of a balanced equation count particles, so moles, not grams, follow them. Every reacting-mass, gas-volume, titration and yield calculation rests on that one idea.

Watch out for

Balance the equation first, convert to moles before using the ratio, put the substance you want on top of the ratio, find the limiting reagent when two amounts are given, and round only once at the end.

Next steps

Practise with the 25 worked stoichiometry calculations in Section 12.5 and the ten word problems in Section 14.8, or paste a whole worksheet into the Batch tab to check every answer at once.

❓ 19. Frequently Asked Questions

What is a stoichiometry calculator?

A stoichiometry calculator uses a balanced chemical equation and one known amount to find the amount of any other reactant or product. This one balances the equation for you and works in grams, moles, gas volume, solution volume and particles, with every step shown.

How do you calculate stoichiometry in chemistry?

Balance the equation, then follow three steps: convert the known amount to moles, multiply by the mole ratio (wanted coefficient over known coefficient), and convert the moles to the unit you want. For 4.00 g of H2 in 2 H2 + O2 -> 2 H2O: 4.00 / 2.016 = 1.984 mol, x 2/2 = 1.984 mol H2O, x 18.015 = 35.7 g.

What are the 3 steps of a stoichiometry calculation?

Step 1: change the given amount to moles (divide grams by molar mass, litres of gas by molar volume, or multiply litres of solution by molarity). Step 2: multiply by the mole ratio from the balanced equation. Step 3: change moles of the wanted substance to grams, litres or particles.

All stoichiometry calculations involve what important step?

All stoichiometry calculations involve converting to moles and using the mole ratio from the balanced equation. Coefficients compare moles, not grams, so you can never go straight from grams of one substance to grams of another.

How do you do gram to gram (mass to mass) stoichiometry?

Divide the given grams by the given substance's molar mass, multiply by the mole ratio, then multiply by the wanted substance's molar mass. 4.00 g H2 x (1 mol / 2.016 g) x (2 mol H2O / 2 mol H2) x (18.015 g / 1 mol) = 35.7 g of water.

How do you do mole to mole stoichiometry?

Multiply the known moles by the mole ratio from the balanced equation. In N2 + 3 H2 -> 2 NH3, 3.00 mol of hydrogen gives 3.00 x 2/3 = 2.00 mol of ammonia.

How do you calculate moles from grams in stoichiometry?

Divide the mass in grams by the molar mass in g/mol: n = m / M. This is always step 1 of a mass stoichiometry problem. 4.00 g of H2 (M = 2.016 g/mol) is 1.984 mol.

How do you calculate theoretical yield using stoichiometry?

Find the limiting reagent, convert it to moles, multiply by the mole ratio to the product, then convert to grams. That is the theoretical yield. For Fe2O3 + 3 CO -> 2 Fe + 3 CO2, 100.0 g of Fe2O3 gives 69.94 g of iron; collecting 60.0 g is a percent yield of 85.8%.

How do you calculate volume in gas stoichiometry?

Find the moles of the gas from the mole ratio, then multiply by the molar volume: V = n x Vm. Heating 25.0 g of CaCO3 gives 0.2498 mol of CO2, which is 5.67 L at 0 °C and 1 bar (22.711 L/mol), or 5.60 L at 0 °C and 1 atm (22.414 L/mol).

How do you do solution (molarity) stoichiometry?

Use n = c x V to turn a solution into moles, apply the mole ratio, then V = n / c for the other solution. 25.0 mL of 0.100 M NaOH is 2.50 mmol; H2SO4 + 2 NaOH needs half that, 1.25 mmol, which is 25.0 mL of 0.0500 M H2SO4.

How do you find the limiting reagent?

Convert each reactant to moles and divide by its coefficient. The smallest result is the limiting reagent. For 10.0 g H2 (4.960 / 2 = 2.480) and 64.0 g O2 (2.000 / 1 = 2.000), oxygen is limiting and 72.1 g of water forms.

What is a mole ratio and how do you find it?

A mole ratio is the ratio of the coefficients of two substances in a balanced equation. In 2 H2 + O2 -> 2 H2O, the ratio of H2O to O2 is 2 : 1. Write it as a fraction with the substance you want on top.

How do you use Avogadro's number in stoichiometry?

Divide a number of particles by 6.022 x 10^23 to get moles before using the mole ratio, or multiply moles by it at the end. 3.01 x 10^23 sodium atoms is 0.500 mol, which makes 0.500 mol or 29.2 g of NaCl in 2 Na + Cl2 -> 2 NaCl. These are the same molecular calculations practised in the Labster virtual lab on stoichiometry and Avogadro's number.

How do you do multi-step or reaction sequence stoichiometry?

Use the moles of product from the first reaction as the given moles for the second, or multiply the mole ratios of each step together. Keep full precision between steps and round only the final answer.

Does the equation have to be balanced for stoichiometry?

Yes. The mole ratio comes from the coefficients, so an unbalanced equation gives a wrong answer. This stoichiometry calculator balances the equation automatically, including ionic redox equations in acidic or basic solution.

What does "stoichiometry is the calculation of quantities in chemical reactions" mean?

It means stoichiometry uses the balanced equation to predict how much of each substance reacts or forms. If you know any one amount, you can find all the others, because the coefficients fix their ratios.

How do you do stoichiometry calculations in Excel?

Put each substance's coefficient and molar mass in columns, then use =E2/C2 for moles, =F2*B4/B2 for the mole ratio and =G4*C4 for grams, or the one-line =E2/C2*B4/B2*C4. Section 9 shows the sheet for 4.00 g of hydrogen.

How do you do stoichiometry in Python or R?

Store the coefficients and molar masses, then compute given_g / M[given] * coef[wanted] / coef[given] * M[wanted]. Sections 10 and 11 have complete R and Python scripts that also check the equation is balanced, check mass conservation and find the limiting reagent.

How many significant figures should a stoichiometry answer have?

The same as the least precise measured amount. Coefficients are exact and molar masses are known to four or more figures, so 4.00 g gives a 3-figure answer, 35.7 g. Keep every digit until the last step.

Where can I find stoichiometry worksheet answers?

Section 12.5 has 25 stoichiometry calculations with worked answers in the classic groups: mole to mole, gram to mole and gram to gram. Section 14.8 has ten word problems with answers, and the Batch tab checks a whole worksheet at once and downloads the answer key.

📑 20. Cite This Tool

APA 7th edition
StatsUnlock Team. (2026). Stoichiometry calculator [Interactive chemistry tool]. StatsUnlock. https://statsunlock.com/stoichiometry-calculator/
BibTeX
@misc{statsunlock_stoich_2026, title={Stoichiometry Calculator}, author={{StatsUnlock Team}}, year={2026}, note={Interactive chemistry tool}, url={https://statsunlock.com/stoichiometry-calculator/}}
Methods wording
Stoichiometric amounts were calculated with the StatsUnlock Stoichiometry Calculator (2026) from balanced equations using mole ratios, n = m / M and CIAAW 2024 standard atomic weights.

🔗 21. Related Tools

📖 22. Glossary of Stoichiometry Terms

TermPlain-English meaning
Actual yieldThe mass of product you really collect in an experiment.
Avogadro constant (NA)Exactly 6.022 140 76 × 1023 mol−1: the number of particles in one mole.
Balanced equationAn equation with the same number of each atom, and the same charge, on both sides.
CoefficientThe number in front of a formula in an equation; it counts moles of that substance.
Conservation of massThe mass of reactants used equals the mass of products formed.
Excess reagentA reactant left over when the reaction stops.
Extent of reaction (ξ)How far the reaction has gone, in mol; each substance changes by its coefficient × ξ.
Factor-label methodWriting each conversion as a fraction so the units cancel; also called dimensional analysis.
Limiting reagentThe reactant that runs out first and sets the amount of product.
Molar mass (M)The mass of one mole of a substance, in g/mol.
Molar volume (Vm)The volume of one mole of an ideal gas at stated conditions, for example 22.711 L/mol at 0 °C and 1 bar.
Molarity (c)Moles of solute per litre of solution, mol/L or M.
Mole (mol)The SI unit of amount of substance: exactly 6.022 140 76 × 1023 particles.
Mole ratioThe ratio of two coefficients in a balanced equation.
Percent yieldActual yield ÷ theoretical yield × 100.
Reaction stoichiometryThe quantitative relationship between reactants and products in a reaction.
Significant figuresThe digits in a measurement that carry meaning; they set how far to round.
StoichiometryThe calculation of quantities of reactants and products from a balanced equation.
STPStandard temperature and pressure: IUPAC uses 0 °C and 1 bar; older books use 0 °C and 1 atm.
Theoretical yieldThe most product the limiting reagent can make, from stoichiometry.

📚 23. References

Peer-reviewed sources for the methods and data used in this stoichiometry calculator: the mole and the Avogadro constant, standard atomic weights, and research on how students learn stoichiometry, mole ratios and limiting reagents.

  1. Chandrasegaran, A. L., Treagust, D. F., Waldrip, B. G., & Chandrasegaran, A. (2009). Students’ dilemmas in reaction stoichiometry problem solving: Deducing the limiting reagent in chemical reactions. Chemistry Education Research and Practice, 10(1), 14–23. https://doi.org/10.1039/B901456J
  2. Dori, Y. J., & Hameiri, M. (2003). Multidimensional analysis system for quantitative chemistry problems: Symbol, macro, micro, and process aspects. Journal of Research in Science Teaching, 40(3), 278–302. https://doi.org/10.1002/tea.10077
  3. Fach, M., de Boer, T., & Parchmann, I. (2007). Results of an interview study as basis for the development of stepped supporting tools for stoichiometric problems. Chemistry Education Research and Practice, 8(1), 13–31. https://doi.org/10.1039/B6RP90017H
  4. Furió, C., Azcona, R., & Guisasola, J. (2002). The learning and teaching of the concepts ‘amount of substance’ and ‘mole’: A review of the literature. Chemistry Education Research and Practice, 3(3), 277–292. https://doi.org/10.1039/B2RP90023H
  5. Gabel, D. L., & Sherwood, R. D. (1984). Analyzing difficulties with mole-concept tasks by using familiar analog tasks. Journal of Research in Science Teaching, 21(8), 843–851. https://doi.org/10.1002/tea.3660210806
  6. Güttler, B., Bettin, H., Brown, R. J. C., Davis, R. S., Mester, Z., Milton, M. J. T., ... Stock, M. (2019). Amount of substance – the Avogadro constant and the SI unit “mole”. Metrologia, 56(4), 044002. https://doi.org/10.1088/1681-7575/ab1fae
  7. Krishnan, S. R., & Howe, A. C. (1994). The mole concept: Developing an instrument to assess conceptual understanding. Journal of Chemical Education, 71(8), 653–655. https://doi.org/10.1021/ed071p653
  8. Marquardt, R., Meija, J., Mester, Z., Towns, M., Weir, R., Davis, R., & Stohner, J. (2018). Definition of the mole (IUPAC Recommendation 2017). Pure and Applied Chemistry, 90(1), 175–180. https://doi.org/10.1515/pac-2017-0106
  9. Meija, J., Coplen, T. B., Berglund, M., Brand, W. A., De Bièvre, P., Gröning, M., ... Prohaska, T. (2016). Atomic weights of the elements 2013 (IUPAC Technical Report). Pure and Applied Chemistry, 88(3), 265–291. https://doi.org/10.1515/pac-2015-0305
  10. Mills, I. M., Mohr, P. J., Quinn, T. J., Taylor, B. N., & Williams, E. R. (2006). Redefinition of the kilogram, ampere, kelvin and mole: A proposed approach to implementing CIPM recommendation 1 (CI-2005). Metrologia, 43(3), 227–246. https://doi.org/10.1088/0026-1394/43/3/006
  11. Nakhleh, M. B. (1992). Why some students don’t learn chemistry: Chemical misconceptions. Journal of Chemical Education, 69(3), 191–196. https://doi.org/10.1021/ed069p191
  12. Newell, D. B., Cabiati, F., Fischer, J., Fujii, K., Karshenboim, S. G., Margolis, H. S., ... Ullrich, J. N. (2018). The CODATA 2017 values of h, e, k, and NA for the revision of the SI. Metrologia, 55(1), L13–L16. https://doi.org/10.1088/1681-7575/aa950a
  13. Nurrenbern, S. C., & Pickering, M. (1987). Concept learning versus problem solving: Is there a difference? Journal of Chemical Education, 64(6), 508–510. https://doi.org/10.1021/ed064p508
  14. Pekdağ, B., & Azizoğlu, N. (2013). Semantic mistakes and didactic difficulties in teaching the “amount of substance” concept: A useful model. Chemistry Education Research and Practice, 14(1), 117–129. https://doi.org/10.1039/C2RP20132A
  15. Prohaska, T., Irrgeher, J., Benefield, J., Böhlke, J. K., Chesson, L. A., Coplen, T. B., ... Zhu, X. (2022). Standard atomic weights of the elements 2021 (IUPAC Technical Report). Pure and Applied Chemistry, 94(5), 573–600. https://doi.org/10.1515/pac-2019-0603
  16. Sanger, M. J. (2005). Evaluating students’ conceptual understanding of balanced equations and stoichiometric ratios using a particulate drawing. Journal of Chemical Education, 82(1), 131–134. https://doi.org/10.1021/ed082p131
  17. Schmidt, H.-J., & Jignéus, C. (2003). Students’ strategies in solving algorithmic stoichiometry problems. Chemistry Education Research and Practice, 4(3), 305–317. https://doi.org/10.1039/B3RP90018E
  18. Staver, J. R., & Lumpe, A. T. (1995). Two investigations of students’ understanding of the mole concept and its use in problem solving. Journal of Research in Science Teaching, 32(2), 177–193. https://doi.org/10.1002/tea.3660320206
  19. Tiesinga, E., Mohr, P. J., Newell, D. B., & Taylor, B. N. (2021). CODATA recommended values of the fundamental physical constants: 2018. Reviews of Modern Physics, 93(2), 025010. https://doi.org/10.1103/RevModPhys.93.025010
  20. Yarroch, W. L. (1985). Student understanding of chemical equation balancing. Journal of Research in Science Teaching, 22(5), 449–459. https://doi.org/10.1002/tea.3660220507
STATS UNLOCK · statsunlock.com · Stoichiometry Calculator
RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Statistical Models

Important Plots & Charts

Calculators and Converters