Enter a chemical reaction to get balanced coefficients, a clear balance check, and side-by-side atom counts for every element.
How to use our Chemical Equation Balancer Calculator
- Type your reaction into Unbalanced equation using + between substances and either -> or = between sides, such as Fe + O2 -> Fe2O3.
- Choose Arrow style to control how the final line is displayed, then leave Show smallest whole-number coefficients on if you want the simplest answer.
- Click Calculate to see the Balanced equation, Balance check, and Coefficients.
- Use Atom counts by element to sanity-check the result: each element should show the same total atoms on the reactant side and product side.
- If you see Warning, fix the exact input issue it names, then calculate again.

Definitions
Unbalanced equation: A reaction written with formulas on both sides before the correct front numbers are added.
Coefficient: A whole number placed in front of a substance, like the 2 in 2H2O. It multiplies the entire formula.
Reactant side: The left side of the equation. These are the starting substances.
Product side: The right side of the equation. These are the substances formed.
Balanced equation: A chemical equation where each element has the same total number of atoms on both sides [1].
Atom counts by element: A check that lists each element and shows how many atoms appear on the reactant side and product side.
Smallest whole-number coefficients: The simplest set of front numbers that still balances the equation, with no common factor left to divide out.
Common mistakes and quick fixes
Mistake: Leaving out the reaction arrow in Unbalanced equation , such as typing H2 + O2 + H2O.
Fix: Put one arrow between the two sides, like H2 + O2 -> H2O or H2 + O2 = H2O.
Mistake: Typing coefficients inside Unbalanced equation before balancing, such as 2H2 + O2 -> 2H2O.
Fix: Enter only the formulas and let Coefficients and Balanced equation show the numbers in front.
Mistake: Forgetting a + sign between substances in Unbalanced equation .
Fix: Separate each substance with + on both sides, for example C3H8 + O2 -> CO2 + H2O.
Mistake: Using a formula with unmatched parentheses in Unbalanced equation , like Ca(OH2 + H3PO4 -> Ca3(PO4)2 + H2O.
Fix: Check that every ( has a matching ) before you calculate.
Mistake: Thinking the display choice in Arrow style changes the chemistry.
Fix: Use Arrow style only for display. The actual balancing is checked by Balance check and Atom counts by element .
Mistake: Turning off Show smallest whole-number coefficients and then comparing your answer to a textbook that uses the simplest ratio.
Fix: Turn it on to match the usual smallest whole-number form and read the Simplified ratio note .
Limitations & Key Assumptions / Boundary Conditions
- The tool balances atoms from the formulas you enter. It does not check whether the reaction is realistic in a lab or whether products are chemically favored.
- You must enter one complete reaction with one arrow and at least one substance on each side.
- Formulas need supported characters and matched parentheses. If the parser cannot read a formula safely, the calculator shows a specific error instead of guessing.
- The calculator changes only coefficients in front of formulas. It does not change subscripts inside formulas.
- If an equation would need a zero or negative coefficient, it is treated as invalid for this tool.
- When smallest whole-number reduction is on, answers are simplified by dividing all coefficients by their greatest common divisor.
- Very unusual notation, ambiguous grouping, or unsupported nested formula patterns may not parse even if a human can interpret them.
Methodology
How the balancing works
The calculator reads each substance, counts how many atoms of each element appear in one formula unit, and then finds coefficients that make the totals match on both sides.
For each element E, sum_j(a_Ej * x_j on reactant side) = sum_k(a_Ek * x_k on product side)
Here, a means atoms of an element in one substance, and x means the coefficient placed in front of that substance.
Internally, this can be written as a matrix equation and solved for a nonzero coefficient set [2].
A * x = 0
After a valid set is found, the coefficients are scaled to whole numbers. If simplification is turned on, the tool reduces them to the smallest whole-number ratio.
x_reduced = x / gcd(x_1, x_2, ..., x_n)
Mini example
For H2 + O2 -> H2O, hydrogen is not balanced at first because the left side has 2 H atoms and the right side has 2 H atoms per water molecule, while oxygen is 2 on the left and 1 on the right. Using coefficients 2, 1, and 2 gives 4 hydrogen atoms on each side and 2 oxygen atoms on each side. So the balanced equation is 2H2 + O2 -> 2H2O.
What the results mean
Balanced equation shows the final reaction with front numbers added. A coefficient of 1 may be hidden. Balance check confirms whether every listed element matches exactly. Atom counts by element lets you verify the left and right totals yourself, element by element.
Assumptions used
The method assumes the formulas are written correctly and that balancing is done only by changing coefficients, not by changing the chemical formulas themselves. If the parser finds missing arrows, missing substances, unsupported characters, unmatched parentheses, or an equation that does not admit a valid positive whole-number solution, it returns an error instead of forcing an answer.