Chemical equation balancer with the working shown
This chemical equation balancer takes a reaction written the way you would type it in a message, such as Fe + O2 -> Fe2O3 or KMnO4 + HCl = KCl + MnCl2 + H2O + Cl2, and returns the balanced equation with the smallest whole-number coefficients: 4Fe + 3O₂ → 2Fe₂O₃. It reads brackets, hydrates with a dot, ionic charges written as Fe^3+ or SO4^2-, and state symbols, and it ignores any coefficients you have already guessed.
Under the result an element bookkeeping table shows the count of every element (and the total charge for ionic equations) on each side, so you can see that the equation really is balanced. A stoichiometry table then converts a known amount of one species, in grams or moles, into the moles and grams of every other species using the coefficients and molar masses.
The balancing runs in your browser using exact fraction arithmetic, so there are no rounding surprises even for awkward redox equations.
How to use the Chemical Equation Balancer
- Type the equation with a plus sign between species and an arrow (
->,=or→) between reactants and products. - Write formulas with correct capitalisation and subscripts as plain digits:
Ca(OH)2,Al2(SO4)3,CuSO4·5H2O. For ions add the charge at the end:Ag^+,Cu^2+. - Read the balanced equation and the coefficients in the result panel. Press Copy balanced equation for both the pretty and the plain-text version.
- Check the bookkeeping table — every element shows equal counts on both sides.
- Choose a species in the stoichiometry section and enter its amount in g, kg, mol or mmol to get the amounts of all the others.
Chemical Equation Balancer features
Any solvable equation
Combustion, synthesis, decomposition, acid–base and redox equations, including ionic half-equations where charge must balance too.
Exact null-space method
The element matrix is reduced with rational Gaussian elimination and the null vector is scaled to the smallest positive integers — no guessing.
Honest error messages
Equations that cannot be balanced, have more than one independent solution, or place a species on the wrong side are reported with an explanation instead of a fake answer.
Element and charge bookkeeping
Counts for every element on each side, plus the net charge for ionic equations, each with a tick.
Built-in stoichiometry
Molar masses for all 118 elements are embedded, so moles and grams of every species follow from one known amount.
How the balancer works
Balancing an equation means finding coefficients so that each element appears the same number of times on both sides. For a Fe + b O₂ → c Fe₂O₃ that gives two conditions: iron, a = 2c, and oxygen, 2b = 3c. Written as a matrix with one row per element and one column per species (products negated), the coefficients are a vector in the null space of that matrix. The calculator reduces the matrix to row-echelon form using exact fractions, reads off the null vector, multiplies by the lowest common denominator and divides by the greatest common divisor. For the iron example that gives (4, 3, 2).
If the null space is empty, no coefficients exist and the equation is wrong as written (perhaps a product is missing). If it has two or more dimensions, the equation is really two reactions combined — H₂ + O₂ → H₂O + H₂O₂, for example — and the coefficients are not unique, so the tool asks you to split it. A null vector with mixed signs means a species belongs on the other side of the arrow.
| Unbalanced | Balanced |
|---|---|
| Fe + O2 → Fe2O3 | 4Fe + 3O₂ → 2Fe₂O₃ |
| C3H8 + O2 → CO2 + H2O | C₃H₈ + 5O₂ → 3CO₂ + 4H₂O |
| KMnO4 + HCl → KCl + MnCl2 + H2O + Cl2 | 2KMnO₄ + 16HCl → 2KCl + 2MnCl₂ + 8H₂O + 5Cl₂ |
| Cu + Ag⁺ → Cu²⁺ + Ag | Cu + 2Ag⁺ → Cu²⁺ + 2Ag |
| Al(OH)3 + H2SO4 → Al2(SO4)3 + H2O | 2Al(OH)₃ + 3H₂SO₄ → Al₂(SO₄)₃ + 6H₂O |
From coefficients to grams: stoichiometry
The coefficients are mole ratios. Burning 10 g of propane (molar mass 44.10 g/mol) means 0.2268 mol of C₃H₈; the ratio 1 : 5 : 3 : 4 then gives 1.134 mol of oxygen (36.3 g), 0.680 mol of carbon dioxide (29.9 g) and 0.907 mol of water (16.3 g). Mass is conserved: 10 + 36.3 = 29.9 + 16.3 g. The stoichiometry table does this for whichever species you know. To find a limiting reagent, enter each reactant's amount in turn and compare the product it would make; the smallest result wins. The molar mass calculator gives percent composition for any formula and the dilution calculator turns moles into solution volumes.
Writing formulas the balancer understands
- Element symbols are case-sensitive:
Cois cobalt andCOis carbon monoxide. - Use parentheses or square brackets for polyatomic groups and put the count after the bracket:
Mg(NO3)2,K4[Fe(CN)6]. - Hydrates use a dot:
Na2CO3·10H2O(a plain full stop also works). - Charges go at the end with a caret:
MnO4^-,Fe^3+. A bare+or-means one unit. Put spaces around the plus signs that separate species so thatNa^+ + Cl^-is read correctly. - Electrons in half-equations can be written as
e-:Fe^3+ + e- -> Fe^2+. - State symbols
(s),(l),(g),(aq)are kept in the output but ignored when balancing.
Chemical Equation Balancer FAQ
How do I balance a chemical equation?
Count each element on both sides and choose coefficients (never change subscripts) until the counts match, starting with the element in the fewest species and leaving hydrogen and oxygen until last. The chemical equation balancer does this algebraically and shows the per-element counts.
Why does the balancer say my equation cannot be balanced?
Because no set of coefficients conserves every element. Usually a formula is wrong (for example NaCl → KCl) or a product is missing. Check each formula and make sure the arrow separates the right species.
Can it balance redox and ionic equations?
Yes. Write charges with a caret, such as Cu^2+ or MnO4^-, and the tool balances charge as well as mass. Electrons can be written as e- in half-equations.
What does "independent ways to balance" mean?
The equation has more than one solution, which happens when two separate reactions are written as one. Split them or remove the species that does not belong.
Does it change subscripts?
Never. Subscripts define the compound; only the coefficients in front of each formula are adjusted.
How accurate are the stoichiometry masses?
They use IUPAC conventional atomic masses (C 12.011, O 15.999, and so on), the same as the molar mass calculator, so results match standard textbook answers to three decimals.