Chemical Equation Balancer

Type an unbalanced equation such as Fe + O2 = Fe2O3 and get the smallest whole-number coefficients that conserve every element. The balancer builds the element matrix and solves it with exact fraction arithmetic, so there are no rounding errors. It understands nested brackets, hydrates written with · or a dot, and ionic charges such as Fe^3+ or MnO4^-.

How to use the Chemical Equation Balancer

  1. Type the reactants and products separated by "=" or "->", with "+" between species.
  2. Write charges as Fe^3+, SO4^2- or Fe{3+} and hydrates as CuSO4·5H2O.
  3. Press Balance.
  4. Check the atom table and copy the balanced equation.

Features

Benefits

Frequently asked questions

How does the balancer work?

It counts each element in every species, sets up one equation per element (and one for charge), and finds the null space of that matrix with exact fractions. The solution is scaled to the smallest whole numbers.

Why does it say the equation has more than one solution?

Some inputs combine two independent reactions, for example H2 + O2 = H2O + H2O2. Any mix of the two would balance, so there is no single answer. Remove a species or split it into separate reactions.

Does it tell me whether the reaction actually happens?

No. Balancing only conserves atoms and charge; it does not check whether a reaction is chemically possible. Try the Periodic Table Reaction Predictor for simple rule-based predictions.

Are element symbols case-sensitive?

Yes. Co is cobalt while CO is carbon monoxide, so type symbols with the correct capital letters.

Related tools