{
  "id": "limiting-reactant",
  "version": "39fda1930c20",
  "status": "published",
  "name": "Limiting Reactant Calculator",
  "question": "Which one is the limiting reactant?",
  "summary": "Finds the limiting reactant of a reaction a·A + b·B → p·P from the two masses, molar masses and coefficients, with the theoretical yield of the product and how much of the excess reactant is left.",
  "category": "chemistry",
  "subcategory": "stoichiometry",
  "url": "https://www.acalculator.org/chemistry/limiting-reactant-calculator",
  "markdown": "https://www.acalculator.org/chemistry/limiting-reactant-calculator.md",
  "kind": "function",
  "method": "n = mass ÷ molar mass for each reactant. The reactant with the smaller n ÷ coefficient is limiting. Product moles = p × (n ÷ coefficient) of the limiting reactant; product grams = moles × product molar mass. Excess left = (n − coefficient × limiting quotient) × molar mass of the other reactant.",
  "assumptions": [
    "The reaction goes to completion as written, and A and B react only with each other.",
    "The theoretical yield is the most product possible; a real yield is usually lower."
  ],
  "inputs": {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "properties": {
      "mA": {
        "title": "Reactant A mass",
        "description": "The mass of reactant a you start with.",
        "type": [
          "number",
          "string"
        ],
        "x-quantity": "mass",
        "minimum": 1e-12,
        "maximum": 1000000000
      },
      "MA": {
        "title": "Reactant A molar mass, g/mol",
        "description": "The molar mass in grams per mole.",
        "type": "number",
        "minimum": 0.001,
        "maximum": 10000000
      },
      "a": {
        "title": "Reactant A coefficient (a)",
        "description": "The coefficient in the balanced equation.",
        "type": "integer",
        "minimum": 1,
        "maximum": 100
      },
      "mB": {
        "title": "Reactant B mass",
        "description": "The mass of reactant b you start with.",
        "type": [
          "number",
          "string"
        ],
        "x-quantity": "mass",
        "minimum": 1e-12,
        "maximum": 1000000000
      },
      "MB": {
        "title": "Reactant B molar mass, g/mol",
        "description": "The molar mass in grams per mole.",
        "type": "number",
        "minimum": 0.001,
        "maximum": 10000000
      },
      "b": {
        "title": "Reactant B coefficient (b)",
        "description": "The coefficient in the balanced equation.",
        "type": "integer",
        "minimum": 1,
        "maximum": 100
      },
      "p": {
        "title": "Product coefficient (p)",
        "description": "The coefficient in the balanced equation.",
        "type": "integer",
        "minimum": 1,
        "maximum": 100
      },
      "MP": {
        "title": "Product molar mass, g/mol",
        "description": "The molar mass in grams per mole.",
        "type": "number",
        "minimum": 0.001,
        "maximum": 10000000
      }
    }
  },
  "outputs": {
    "limiting": {
      "label": "Limiting reactant",
      "description": "The reactant that runs out first.",
      "format": "text"
    },
    "detail": {
      "label": "Yield and excess",
      "description": "The product made and the other reactant left, to 6 significant figures.",
      "format": "text"
    },
    "molA": {
      "label": "Reactant A (mol)",
      "description": "Moles of A: mass ÷ molar mass.",
      "format": "number"
    },
    "molB": {
      "label": "Reactant B (mol)",
      "description": "Moles of B: mass ÷ molar mass.",
      "format": "number"
    },
    "productMol": {
      "label": "Theoretical yield (mol)",
      "description": "Moles of product the limiting reactant can make.",
      "format": "number"
    },
    "productG": {
      "label": "Theoretical yield (g)",
      "description": "Grams of product: moles × product molar mass.",
      "format": "number"
    },
    "excessG": {
      "label": "Excess reactant left (g)",
      "description": "Grams of the other reactant left when the limiting one is used up.",
      "format": "number"
    }
  },
  "defaultAnswer": {
    "inputs": {
      "mA": "2 g",
      "MA": 28.09,
      "a": 3,
      "mB": "1.5 g",
      "MB": 28.02,
      "b": 2,
      "p": 1,
      "MP": 140.31
    },
    "outputs": {
      "limiting": "Reactant A",
      "detail": "3.33001 g of product; 0.169989 g of B left",
      "molA": 0.0711997152011392,
      "molB": 0.05353319057815846,
      "productMol": 0.023733238400379733,
      "productG": 3.33001067995728,
      "excessG": 0.16998932004271983
    },
    "text": "The limiting reactant is Reactant A: 3.33001 g of product; 0.169989 g of B left."
  },
  "examples": [
    {
      "given": {
        "mA": 0.002,
        "MA": 28.09,
        "a": 3,
        "mB": 0.0015,
        "MB": 28.02,
        "b": 2,
        "p": 1,
        "MP": 140.31
      },
      "expect": {
        "molA": 0.0711997152011392,
        "productMol": 0.023733238400379733,
        "productG": 3.33001067995728,
        "excessG": 0.16998932004271983,
        "limiting": "Reactant A",
        "detail": "3.33001 g of product; 0.169989 g of B left"
      },
      "source": "OpenStax, Chemistry 2e, §4.4 Reaction Yields (limiting reactant: compare the reactants’ moles with the balanced equation), https://openstax.org/books/chemistry-2e/pages/4-4-reaction-yields, Example 4.12 Identifying the Limiting Reactant: silicon is limiting, 0.0237 mol of Si₃N₄; Python 3"
    },
    {
      "given": {
        "mA": 0.004,
        "MA": 2,
        "a": 2,
        "mB": 0.032,
        "MB": 32,
        "b": 1,
        "p": 2,
        "MP": 18
      },
      "expect": {
        "productMol": 2,
        "productG": 36,
        "excessG": 0,
        "limiting": "Neither (exact ratio)",
        "detail": "A and B run out together and make 36 g of product"
      },
      "source": "OpenStax, Chemistry 2e, §4.4 Reaction Yields (limiting reactant: compare the reactants’ moles with the balanced equation), https://openstax.org/books/chemistry-2e/pages/4-4-reaction-yields; hand calculation in content.mdx: 2 mol H₂ ÷ 2 = 1 mol O₂ ÷ 1, so both run out; 2 mol of water"
    },
    {
      "given": {
        "mA": 0.01,
        "MA": 2,
        "a": 2,
        "mB": 0.032,
        "MB": 32,
        "b": 1,
        "p": 2,
        "MP": 18
      },
      "expect": {
        "productG": 36,
        "excessG": 6,
        "limiting": "Reactant B",
        "detail": "36 g of product; 6 g of A left"
      },
      "source": "OpenStax, Chemistry 2e, §4.4 Reaction Yields (limiting reactant: compare the reactants’ moles with the balanced equation), https://openstax.org/books/chemistry-2e/pages/4-4-reaction-yields; hand calculation in content.mdx: H₂ 5 mol ÷ 2 = 2.5, O₂ 1 mol ÷ 1 = 1; O₂ limits; 5 − 2 = 3 mol H₂ = 6 g left"
    }
  ],
  "sources": [
    "OpenStax, Chemistry 2e, section 4.4 Reaction Yields: limiting reactant, Example 4.12 (3Si + 2N₂ → Si₃N₄). CC BY 4.0, retrieved 2026-10-03. https://openstax.org/books/chemistry-2e/pages/4-4-reaction-yields",
    "NIST Special Publication 811, Appendix B.8: 1 lb = 0.45359237 kg; 1 oz = 0.028349523125 kg. Retrieved 2026-10-03. https://www.nist.gov/pml/special-publication-811/nist-guide-si-appendix-b-conversion-factors/nist-guide-si-appendix-b8"
  ],
  "related": [
    "stoichiometry",
    "percent-yield",
    "molar-mass"
  ],
  "changelog": []
}
