Balancing Chemical Equations Calculator

Type an unbalanced chemical equation to get the smallest whole-number coefficients, solved by exact Gaussian elimination (never trial and error) — plus a full atom-by-atom check confirming every element matches on both sides. For C3H8 + O2 → CO2 + H2O, the balanced form is C3H8 + 5O2 → 3CO2 + 4H2O. Handles combustion, redox, hydrates and simple ionic charges, up to 8 species.

Examples:

C3H8 + 5O2 → 3CO2 + 4H2O

Balanced equation — smallest whole-number coefficients.

SpeciesSideCoefficient
C3H8Reactant1
O2Reactant5
CO2Product3
H2OProduct4
Show the atom-by-atom check
ElementReactant sideProduct sideBalanced?
C33
H88
O1010
Show the full working
Species: C3H8, O2 (reactants) → CO2, H2O (products).
Elements tracked: C, H, O.
Unknown coefficients x₁…x4 set up as one linear equation per element (atoms in = atoms out), solved by Gaussian elimination in exact fractions (no rounding).
Smallest whole-number solution: x1(C3H8) = 1, x2(O2) = 5, x3(CO2) = 3, x4(H2O) = 4.
Check C: reactants = 3, products = 3 → balanced ✓.
Check H: reactants = 8, products = 8 → balanced ✓.
Check O: reactants = 10, products = 10 → balanced ✓.
Balanced equation: C3H8 + 5O2 → 3CO2 + 4H2O

Solves by exact-fraction Gaussian elimination — up to 8 species, including hydrates and simple ionic charges. How we calculate →

Why chemical equations need balancing (the law of conservation of mass)

A chemical equation must show the same number of atoms of each element on both sides, because atoms are neither created nor destroyed in an ordinary chemical reaction (the law of conservation of mass). "Balancing" means finding whole-number coefficients — the numbers placed in front of each formula — that make every element's atom count match on the reactant and product sides.

Worked example: propane combustion, C3H8 + O2 → CO2 + H2O, balances to C3H8 + 5O2 → 3CO2 + 4H2O. Check the carbon: 1 × C3H8 gives 3 carbon atoms on the left, and 3 × CO2 gives 3 carbon atoms on the right — matched.

The matrix method: how this tool finds coefficients (not trial and error)

Rather than guessing coefficients by trial and error, this tool sets up one linear equation per element (atoms entering must equal atoms leaving) and solves the resulting system by Gaussian elimination — using exact fractions (not decimals), so there's zero rounding error even for equations with large coefficients.

Worked example: the permanganate redox reaction KMnO4 + HCl → KCl + MnCl2 + Cl2 + H2O has 6 species and 5 elements, and balances to 2KMnO4 + 16HCl → 2KCl + 2MnCl2 + 5Cl2 + 8H2O — a case where simple trial and error becomes error-prone, but the linear-algebra approach finds the smallest whole-number solution directly.

Balancing equations with parentheses, hydrates and polyatomic ions

Formulas with parentheses (like Ca(OH)₂ or Al₂(SO₄)₃) multiply everything inside the parentheses by the subscript outside it — Ca(OH)₂ has 1 calcium, 2 oxygen and 2 hydrogen atoms. Hydrates (like CuSO₄·5H₂O, a "hydrated" or "wet" crystal form) add the water molecules' atoms on top of the anhydrous formula's atoms.

Worked example: heating copper(II) sulfate pentahydrate decomposes it — CuSO4·5H2O → CuSO4 + H2O balances to CuSO4.5H2O → CuSO4 + 5H2O (the 5 water molecules simply separate out, 1-to-1).

What to do when an equation won't balance

If this tool reports that an equation cannot be balanced, the most likely cause is a missing or extra species — e.g. writing "H2 → H2O" omits the oxygen source (O2) that must appear on the reactant side. Double-check every element that appears in the products also appears somewhere in the reactants, and vice versa.

Occasionally a system is under-determined (more unknowns than independent constraints) — this tool flags that case explicitly rather than silently picking an arbitrary answer, because a genuinely ambiguous equation usually means extra chemical information (like explicit oxidation states) is needed to pick the physically correct balance.

Frequently asked questions

What does it mean to balance a chemical equation?

It means finding whole-number coefficients so that the same number of atoms of every element appears on both the reactant and product sides — required by the law of conservation of mass, since atoms aren't created or destroyed in a normal chemical reaction.

How do you balance Fe + O2 -> Fe2O3?

Iron rusting balances to 4Fe + 3O2 → 2Fe2O3 — 4 iron atoms and 6 oxygen atoms (3 × O2) on the left match 4 iron atoms and 6 oxygen atoms (2 × Fe2O3, each with 3 oxygen) on the right.

Can this tool balance equations with parentheses like Ca(OH)2?

Yes — the formula parser handles nested parentheses with multipliers (e.g. Al2(SO4)3), so compounds like calcium hydroxide, aluminium sulfate or ammonium phosphate parse correctly before balancing.

Does this calculator handle hydrates like CuSO4·5H2O?

Yes — write the hydrate with a dot, period, or asterisk before the water count (CuSO4.5H2O, CuSO4·5H2O or CuSO4*5H2O all work), and the water molecule's atoms are added to the main formula's atom count.

What if my equation can't be balanced?

The tool reports this honestly rather than guessing — the most common cause is a missing or extra species (e.g. forgetting O2 as a reactant when a product contains oxygen). Re-check that every element on one side also appears on the other.

How does this tool find coefficients — trial and error?

No — it builds one linear equation per element (atoms in = atoms out) and solves the system exactly using Gaussian elimination with fractions (never decimals), then scales the result to the smallest whole numbers. This works reliably even for redox equations with 5+ species where trial and error becomes unreliable.

Can this calculator handle ionic charges?

Yes, for simple cases — write a trailing charge like Fe3+, Na+ or SO4^2- and the balancer includes a charge-conservation row alongside the element rows, so overall charge is balanced too, not just atoms.

Researched & verified by the Calcuris Data & Research Team. How we build and check our tools →