{"success":true,"version":"v1","request":{"tool":"get_calculator_schema","calculator_id":"stoichiometry"},"result":{"entity_type":"calculator","id":"stoichiometry","calculator_id":"stoichiometry","canonical_url":"https://tttkmbb.com/chemistry/stoichiometry","name":"Stoichiometry Calculator","title":"Stoichiometry Calculator – Limiting Reagent, Theoretical Yield and Excess Reactant from a Balanced Equation","category":"chemistry","category_name":"Chemistry","tool_name":"solve_stoichiometry","featured_mcp_tool":false,"description":"Parses a balanced chemical equation, converts the given reactant masses or moles to moles, identifies the limiting reagent from mole-to-coefficient ratios and reports the theoretical yield (moles and grams) of every product and the amount of excess reactant left over.","use_when":"You have a balanced equation and the amount of one or two reactants and need the limiting reagent, the maximum product mass or moles, or how much of the other reactant remains.","do_not_use_when":"You only need the molar mass of one substance (use molar-mass), a grams-to-moles conversion (use moles-mass), or the percent yield from a measured product mass (use percent-yield after this calculator).","inputs":[{"name":"equation","label":"Balanced equation","type":"string","required":true,"description":"Balanced chemical equation with coefficients and formulas, e.g. 2H2 + O2 -> 2H2O or 3Si + 2N2 = Si3N4 (arrow: ->, =, →; states such as (aq) are ignored; write ion charges as Cu^2+ because Cu2+ is read as two copper atoms). An unbalanced equation is rejected.","example":"2H2 + O2 -> 2H2O"},{"name":"given_formula","label":"Given reactant","type":"string","required":true,"description":"Formula of the reactant whose amount is known; must appear on the left side of the equation.","example":"H2"},{"name":"given_mass_g","label":"Mass of given reactant","type":"number","unit":"g","required":false,"exclusive_min":0,"description":"Mass of the given reactant in grams (alternative to given_moles).","example":4},{"name":"given_moles","label":"Moles of given reactant","type":"number","unit":"mol","required":false,"exclusive_min":0,"description":"Amount of the given reactant in moles; takes precedence over given_mass_g."},{"name":"second_formula","label":"Second reactant","type":"string","required":false,"description":"Formula of a second reactant with a known amount, for limiting-reagent analysis. Omit to treat the given reactant as limiting.","example":"O2"},{"name":"second_mass_g","label":"Mass of second reactant","type":"number","unit":"g","required":false,"exclusive_min":0,"description":"Mass of the second reactant in grams (alternative to second_moles).","example":16},{"name":"second_moles","label":"Moles of second reactant","type":"number","unit":"mol","required":false,"exclusive_min":0,"description":"Amount of the second reactant in moles; takes precedence over second_mass_g."}],"outputs":[{"name":"balanced_equation","label":"Equation","type":"string","decimals":4,"description":"The parsed equation with its coefficients, confirming the atom balance."},{"name":"limiting_reagent","label":"Limiting reagent","type":"string","decimals":4,"description":"Reactant with the smallest moles ÷ coefficient ratio among those with a known amount."},{"name":"limiting_reagent_moles","label":"Moles of limiting reagent","type":"number","unit":"mol","decimals":6,"description":"Amount of the limiting reagent available."},{"name":"extent_of_reaction_mol","label":"Extent of reaction","type":"number","unit":"mol","decimals":6,"description":"ξ = moles of limiting reagent ÷ its coefficient; every species changes by coefficient × ξ."},{"name":"main_product","label":"Main product","type":"string","decimals":4,"description":"First product in the equation, to which the theoretical-yield outputs refer."},{"name":"theoretical_yield_g","label":"Theoretical yield","type":"number","unit":"g","decimals":4,"description":"Maximum mass of the main product."},{"name":"theoretical_yield_moles","label":"Theoretical yield","type":"number","unit":"mol","decimals":6,"description":"Maximum moles of the main product."},{"name":"excess_reagent","label":"Excess reagent","type":"string","decimals":4,"description":"The other reactant with a known amount (only when second_formula is given)."},{"name":"excess_remaining_moles","label":"Excess remaining","type":"number","unit":"mol","decimals":6,"description":"Moles of the excess reagent left after complete reaction."},{"name":"excess_remaining_g","label":"Excess remaining","type":"number","unit":"g","decimals":4,"description":"Mass of the excess reagent left after complete reaction."},{"name":"reactants","label":"Reactants","type":"list","decimals":6,"description":"Per reactant: formula, coefficient, molar mass, moles and mass consumed, and (when known) moles/mass available, moles/mass in excess and role."},{"name":"products","label":"Products","type":"list","decimals":6,"description":"Per product: formula, coefficient, molar mass, moles and mass formed (theoretical yields)."}],"input_schema":{"type":"object","properties":{"equation":{"description":"Balanced chemical equation with coefficients and formulas, e.g. 2H2 + O2 -> 2H2O or 3Si + 2N2 = Si3N4 (arrow: ->, =, →; states such as (aq) are ignored; write ion charges as Cu^2+ because Cu2+ is read as two copper atoms). An unbalanced equation is rejected.","type":"string","examples":["2H2 + O2 -> 2H2O"]},"given_formula":{"description":"Formula of the reactant whose amount is known; must appear on the left side of the equation.","type":"string","examples":["H2"]},"given_mass_g":{"description":"Mass of the given reactant in grams (alternative to given_moles). Unit: g.","type":"number","exclusiveMinimum":0,"examples":[4],"x-unit":"g"},"given_moles":{"description":"Amount of the given reactant in moles; takes precedence over given_mass_g. Unit: mol.","type":"number","exclusiveMinimum":0,"x-unit":"mol"},"second_formula":{"description":"Formula of a second reactant with a known amount, for limiting-reagent analysis. Omit to treat the given reactant as limiting.","type":"string","examples":["O2"]},"second_mass_g":{"description":"Mass of the second reactant in grams (alternative to second_moles). Unit: g.","type":"number","exclusiveMinimum":0,"examples":[16],"x-unit":"g"},"second_moles":{"description":"Amount of the second reactant in moles; takes precedence over second_mass_g. Unit: mol.","type":"number","exclusiveMinimum":0,"x-unit":"mol"}},"additionalProperties":false,"required":["equation","given_formula"]},"output_schema":{"type":"object","properties":{"balanced_equation":{"description":"The parsed equation with its coefficients, confirming the atom balance.","type":"string"},"limiting_reagent":{"description":"Reactant with the smallest moles ÷ coefficient ratio among those with a known amount.","type":"string"},"limiting_reagent_moles":{"description":"Amount of the limiting reagent available. Unit: mol.","type":"number","x-unit":"mol"},"extent_of_reaction_mol":{"description":"ξ = moles of limiting reagent ÷ its coefficient; every species changes by coefficient × ξ. Unit: mol.","type":"number","x-unit":"mol"},"main_product":{"description":"First product in the equation, to which the theoretical-yield outputs refer.","type":"string"},"theoretical_yield_g":{"description":"Maximum mass of the main product. Unit: g.","type":"number","x-unit":"g"},"theoretical_yield_moles":{"description":"Maximum moles of the main product. Unit: mol.","type":"number","x-unit":"mol"},"excess_reagent":{"description":"The other reactant with a known amount (only when second_formula is given).","type":"string"},"excess_remaining_moles":{"description":"Moles of the excess reagent left after complete reaction. Unit: mol.","type":"number","x-unit":"mol"},"excess_remaining_g":{"description":"Mass of the excess reagent left after complete reaction. Unit: g.","type":"number","x-unit":"g"},"reactants":{"description":"Per reactant: formula, coefficient, molar mass, moles and mass consumed, and (when known) moles/mass available, moles/mass in excess and role.","type":"array"},"products":{"description":"Per product: formula, coefficient, molar mass, moles and mass formed (theoretical yields).","type":"array"}}},"formula":"n_i = mass_i / M_i; ξ = min over known reactants of n_i / ν_i (the reactant giving the minimum is limiting); moles_product = ν_product × ξ; theoretical_yield_g = ν_product × ξ × M_product; excess_remaining = n_excess − ν_excess × ξ","method":"Atom balance is checked with the same formula parser as molar-mass (charges are not balanced). Reactants without a stated amount are assumed to be in excess. Molar masses use IUPAC 2021 abridged atomic weights.","sources":[{"name":"OpenStax Chemistry 2e – 4.3 Reaction Stoichiometry","url":"https://openstax.org/books/chemistry-2e/pages/4-3-reaction-stoichiometry","type":"textbook","retrieved_at":"2026-09-24"},{"name":"OpenStax Chemistry 2e – 4.4 Reaction Yields","url":"https://openstax.org/books/chemistry-2e/pages/4-4-reaction-yields","type":"textbook","retrieved_at":"2026-09-24"},{"name":"Wikipedia – Limiting reagent","url":"https://en.wikipedia.org/wiki/Limiting_reagent","type":"reference","retrieved_at":"2026-09-24"}],"freshness":{"type":"static","max_age_seconds":null,"note":"Deterministic formula with fixed constants; results never go stale. Inputs supplied by the caller determine the output."},"examples":[{"name":"3Si + 2N2 -> Si3N4 with 2.00 g Si and 1.50 g N2","inputs":{"equation":"3Si + 2N2 -> Si3N4","given_formula":"Si","given_mass_g":2,"second_formula":"N2","second_mass_g":1.5},"expected":{"limiting_reagent":"Si","limiting_reagent_moles":0.071212,"extent_of_reaction_mol":0.023737,"main_product":"Si3N4","theoretical_yield_g":3.33,"theoretical_yield_moles":0.023737,"excess_reagent":"N2","excess_remaining_moles":0.00607,"excess_remaining_g":0.17},"url":"https://tttkmbb.com/api/v1/calculate/stoichiometry?equation=3Si+%2B+2N2+-%3E+Si3N4&given_formula=Si&given_mass_g=2&second_formula=N2&second_mass_g=1.5"},{"name":"2H2 + O2 -> 2H2O with 4.0 g H2 and 16.0 g O2","inputs":{"equation":"2H2 + O2 -> 2H2O","given_formula":"H2","given_mass_g":4,"second_formula":"O2","second_mass_g":16},"expected":{"balanced_equation":"2 H2 + O2 → 2 H2O","limiting_reagent":"O2","theoretical_yield_g":18.016,"theoretical_yield_moles":1.00006,"excess_reagent":"H2","excess_remaining_g":1.9839,"excess_remaining_moles":0.98406},"url":"https://tttkmbb.com/api/v1/calculate/stoichiometry?equation=2H2+%2B+O2+-%3E+2H2O&given_formula=H2&given_mass_g=4&second_formula=O2&second_mass_g=16"}],"faq":[{"q":"What if I only know the amount of one reactant?","a":"Omit second_formula: the given reactant is treated as limiting and the yields assume every other reactant is present in excess."},{"q":"Why is my equation rejected as unbalanced?","a":"Atom counts of every element must match on both sides, e.g. H2 + O2 -> H2O fails because oxygen is 2 on the left and 1 on the right. The error lists each element that differs; charges of ions are not checked."},{"q":"Which product does theoretical_yield_g refer to?","a":"The first product written in the equation (main_product); the products list gives the yield of every product."}],"tags":["stoichiometry","limiting reagent","limiting reactant","theoretical yield","excess reactant","mole ratio"],"related":[{"calculator_id":"percent-yield","reason":"Compare the measured product mass with this theoretical yield."},{"calculator_id":"molar-mass","reason":"Molar mass and composition of any species in the equation."},{"calculator_id":"moles-mass","reason":"Plain grams-to-moles conversion for one substance."}],"links":{"html":"https://tttkmbb.com/chemistry/stoichiometry","markdown":"https://tttkmbb.com/chemistry/stoichiometry.md","json":"https://tttkmbb.com/chemistry/stoichiometry.json","api":"https://tttkmbb.com/api/v1/calculate/stoichiometry","schema":"https://tttkmbb.com/api/v1/calculators/stoichiometry","openapi":"https://tttkmbb.com/openapi.json","mcp":"https://tttkmbb.com/mcp"},"version":"v1","updated_at":"2026-09-24"},"timestamp":"2026-09-24T01:46:02Z"}