Free Chemical Equation Balancer with Worked Steps

Type an unbalanced equation like Fe + O2 -> Fe2O3 and get the smallest whole-number coefficients — along with the algebra that produced them and an element-by-element atom count proving both sides match.

Balance a chemical equation

Enter an unbalanced equation. You get whole-number coefficients, the algebra that produced them, and an atom-count check of both sides.

Separate species with "+" and the two sides with "=" or "->". Write subscripts as plain numbers: H2O, Ca3(PO4)2, CuSO4·5H2O. Element symbols are case-sensitive.

Balanced equation

4Fe+3O22Fe2O3

  1. 1. Give every species an unknown coefficient and count its atoms

    CoefficientSpeciesAtoms per formula unit
    aFeFe×1
    bO2O×2
    cFe2O3Fe×2, O×3
  2. 2. Write one balance equation per element (left atoms = right atoms)

    • Fe: a = 2c
    • O: 2b = 3c
  3. 3. Solve the system exactly (no decimals — fractions stay fractions)

    Gaussian elimination leaves one free variable. Let c = t (the coefficient of Fe2O3). Every other coefficient is then forced:

    • a = 2t
    • b = (3/2)t
    • c = t
  4. 4. Scale to the smallest whole numbers

    The denominators above have least common multiple 2, so set t = 2 — the smallest value that clears every fraction. The resulting coefficients share no common factor, so they are final:

    • a = 4 (Fe)
    • b = 3 (O2)
    • c = 2 (Fe2O3)

Proof: atom count on each side

ElementLeft sideRight sideMatch
Fe4×1 = 42×2 = 4Balanced
O3×2 = 62×3 = 6Balanced

Each cell shows coefficient × atoms per formula unit, summed over the species on that side. Every row matching is what "balanced" means.

What balancing an equation actually means

A chemical reaction rearranges atoms; it never creates or destroys them. Balancing an equation is bookkeeping for that fact: you choose a coefficient (a multiplier) for each substance so that every element has the same number of atoms on both sides of the arrow.

The one rule that matters: you may only change coefficients, never subscripts. The subscripts are part of the substance's identity — H2O is water and H2O2 is hydrogen peroxide, and swapping one for the other changes what the reaction is, not how much of it happens. A coefficient multiplies the whole formula: 3H2O means three water molecules, so 6 hydrogen atoms and 3 oxygen atoms.

How the balancer finds the coefficients

This tool uses the algebraic method, the same one you would use by hand for anything harder than a two-substance equation. Give every species an unknown coefficient (a, b, c, ...), then write one equation per element stating that atoms on the left equal atoms on the right. For Fe + O2 -> Fe2O3 that gives two equations: Fe says a = 2c, and O says 2b = 3c.

That is a system of linear equations, and the balancer solves it exactly — with fractions, never decimals. Rounding 1.4999 to 1.5 versus 1.4999 is precisely how software returns wrong coefficients, so all arithmetic here is done with exact integer fractions. Solving the Fe example: let c = t, then a = 2t and b = (3/2)t. The smallest t that clears the fraction is 2, giving a = 4, b = 3, c = 2: the answer is 4Fe + 3O2 -> 2Fe2O3.

Every result you get from the widget shows this full chain: the atom inventory, the per-element equations, the solved system in terms of t, and the scaling step to whole numbers.

A worked example: burning propane

Balance C3H8 + O2 -> CO2 + H2O. Assign coefficients: a C3H8 + b O2 -> c CO2 + d H2O.

Carbon: each propane has 3 C and each CO2 has 1, so 3a = c. Hydrogen: 8a = 2d, so d = 4a. Oxygen: the left has 2b atoms; the right has 2c + d = 2(3a) + 4a = 10a, so 2b = 10a and b = 5a.

Every unknown is now a multiple of a, so set a = 1: the coefficients are 1, 5, 3, 4, and the balanced equation is C3H8 + 5O2 -> 3CO2 + 4H2O. Check it: C is 3 = 3, H is 8 = 8, O is 10 on the left and 3×2 + 4×1 = 10 on the right. Notice the strategy — carbon and hydrogen each appeared in only two substances, so their equations were easy; oxygen appeared in three, so it went last.

Mistakes that produce wrong answers

  • Changing a subscript to force a balance. H2 + O2 -> H2O2 balances instantly — but if your reaction makes water, you have just balanced a different reaction.
  • Forgetting the diatomic elements. Oxygen gas is O2, not O; the same goes for H2, N2, F2, Cl2, Br2, and I2.
  • Stopping with a fraction in the answer. C2H6 + (7/2)O2 -> 2CO2 + 3H2O is legal mid-work, but the convention is smallest whole numbers: multiply everything by 2.
  • Not reducing at the end. 4H2 + 2O2 -> 4H2O is balanced but wrong by convention — divide by the common factor 2.
  • Case errors in symbols. CO is carbon monoxide; Co is cobalt; co is a parse error. This balancer will tell you which token it could not read rather than guess.
  • Writing two reactions as one equation. Something like CO + CO2 + H2 -> CH4 + H2O has infinitely many balanced versions because it is two independent reactions blended together — see the FAQ on why the balancer refuses these.

How to check any balanced equation

Build the atom-count table the widget shows under every answer: one row per element, and in each cell multiply the coefficient by the subscript count for every substance on that side, then add. For 4Fe + 3O2 -> 2Fe2O3, the Fe row reads 4×1 = 4 on the left and 2×2 = 4 on the right; the O row reads 3×2 = 6 and 2×3 = 6. Every row must match — one mismatched element means the equation is not balanced, no matter how many others match.

Then apply two quick conventions: all coefficients should be positive whole numbers, and they should share no common factor (if they are all even, divide by 2). If your answer differs from the tool's only by a common multiple, your algebra was right and only the final scaling step was missed.

Related free tools

Frequently Asked Questions

Why can't I change the subscripts to balance an equation?

Subscripts define which substance you have — H2O is water, H2O2 is hydrogen peroxide. Changing a subscript swaps in a different chemical, so the equation you balance is no longer the reaction you were asked about. Coefficients are the only knob: they say how many units of each substance react, which is exactly what balancing is meant to find.

Why does the balancer refuse some equations instead of giving an answer?

Two honest reasons. First, some equations have no solution at all — for CH4 -> C2H6, carbon demands a = 2b while hydrogen demands 4a = 6b, and the only way to satisfy both is a = b = 0. Second, some equations have infinitely many solutions because they are really two independent reactions written as one; any tool that prints a single answer for those is silently picking one arbitrary option. This balancer shows you the whole family with its free parameters instead.

What does a coefficient like (3/2)t mean in the steps?

The system of atom-balance equations pins down every coefficient only relative to the others, so the solver expresses each one as a multiple of a free variable t. Fe + O2 -> Fe2O3 gives a = 2t, b = (3/2)t, c = t. Any positive t balances the atoms; the final step picks the smallest t that makes everything a whole number (here t = 2), because the convention is smallest whole-number coefficients.

Are fractional coefficients ever acceptable?

In one common case, yes: thermochemistry. When an equation is written per mole of one specific substance — say, the combustion of exactly one mole of C2H6 — you will see C2H6 + (7/2)O2 -> 2CO2 + 3H2O, and that is correct for that purpose. For ordinary balancing questions, though, the expected answer uses the smallest whole numbers, so multiply through to clear the fraction.

Can this balance ionic equations or half-reactions with charges?

No — it handles neutral formulas only, and it will say so rather than misread a charge as arithmetic. Net ionic equations must balance charge as well as atoms, which is a different (larger) system. For redox reactions in ionic form, use the half-reaction method: balance each half-reaction for atoms and charge separately, then combine them so the electrons cancel.

What order should I balance elements in when working by hand?

Balance the element that appears in the fewest substances first, and save any element that appears in many substances — usually oxygen and hydrogen — for last. Elements that appear alone as free elements (like the O2 in a combustion) are also best left late, because you can set their coefficient at the end without disturbing anything else. In the propane example, C and H each touch only two substances and fall out immediately; O touches three and resolves last.

Continue in the app

Use Chemistry AI: Chymia for the full guided result after this quick check.

Download on the App Store
Get it on Google Play