What are the oxidation numbers?
Type a chemical formula or ion. The calculator assigns each element its oxidation number by the standard rules and the sum rule, and shows how each value was found. Formulas the rules cannot decide are refused rather than guessed.
- Oxidation numbers
- K +1, Mn +7, O −2
Oxidation numbers in KMnO₄: K +1, Mn +7, O −2.
- Steps
- K: group 1 metal: +1; Mn: from the total, (+1) + Mn + 4 × (−2) = 0, so Mn = +7; O: oxygen: −2
- Formula
- KMnO₄
Oxidation numbers: K +1, Mn +7, O −2. Oxidation numbers in KMnO₄: K +1, Mn +7, O −2.
How each value was found
How to calculate
Assigns the oxidation number of every element in a chemical formula or ion by the standard rules (fluorine −1, group 1 +1, group 2 +2, hydrogen ±1, oxygen −2, halogens −1) and the sum rule, with each step.
Example with the default inputs (Formula KMnO4): Oxidation numbers in KMnO₄: K +1, Mn +7, O −2.
Method: Rules in priority order: F −1; group 1 metals +1; group 2 metals +2; H +1 with any nonmetal, −1 with metals only; O −2; Cl, Br, I, At −1 unless O, F or a halogen above them is present. The sum of all oxidation numbers equals the charge; the one element with no rule comes from it. If every element has a rule and the sum is off, the lowest-priority element comes from the sum (refused when two elements share that priority).
- An element alone (O₂, S₈) is 0; an ion of one element shares its charge equally (Fe³⁺ +3, O₂²⁻ −1).
- Metals, metalloids and nonmetals as classified in OpenStax’s periodic table (metalloids: B, Si, Ge, As, Sb, Te, At).
- When an element sits in two different places in a formula (N in NH₄NO₃), the page gives only its average.
- A formula with two or more elements that no rule fixes (CuSO₄, HCN), or a wrong sum with the lowest priority shared (NaK), is refused as ambiguous.
Worked examples
Each example is checked against the calculator on every build.
- Formula H2S gives Oxidation numbers H +1, S −2.Source: OpenStax, Chemistry 2e, §4.2 Classifying Chemical Reactions (guidelines for assigning oxidation numbers), https://openstax.org/books/chemistry-2e/pages/4-2-classifying-chemical-reactions, Example 4.5 (a): H +1, S −2
- Formula SO3^2- gives Oxidation numbers S +4, O −2.Source: OpenStax, Chemistry 2e, §4.2 Classifying Chemical Reactions (guidelines for assigning oxidation numbers), https://openstax.org/books/chemistry-2e/pages/4-2-classifying-chemical-reactions, Example 4.5 (b): S +4
- Formula Na2SO4 gives Oxidation numbers Na +1, S +6, O −2.Source: OpenStax, Chemistry 2e, §4.2 Classifying Chemical Reactions (guidelines for assigning oxidation numbers), https://openstax.org/books/chemistry-2e/pages/4-2-classifying-chemical-reactions, Example 4.5 (c): Na +1, S +6
- Formula KNO3 gives Oxidation numbers K +1, N +5, O −2.Source: OpenStax, Chemistry 2e, §4.2 Classifying Chemical Reactions (guidelines for assigning oxidation numbers), https://openstax.org/books/chemistry-2e/pages/4-2-classifying-chemical-reactions, Check Your Learning after Example 4.5 (a): N +5
- Formula AlH3 gives Oxidation numbers Al +3, H −1.Source: OpenStax, Chemistry 2e, §4.2 Classifying Chemical Reactions (guidelines for assigning oxidation numbers), https://openstax.org/books/chemistry-2e/pages/4-2-classifying-chemical-reactions, Check Your Learning after Example 4.5 (b): Al +3
- Formula NH4^+ gives Oxidation numbers N −3, H +1.Source: OpenStax, Chemistry 2e, §4.2 Classifying Chemical Reactions (guidelines for assigning oxidation numbers), https://openstax.org/books/chemistry-2e/pages/4-2-classifying-chemical-reactions, Check Your Learning after Example 4.5 (c): N −3
- Formula H2PO4^- gives Oxidation numbers H +1, P +5, O −2.Source: OpenStax, Chemistry 2e, §4.2 Classifying Chemical Reactions (guidelines for assigning oxidation numbers), https://openstax.org/books/chemistry-2e/pages/4-2-classifying-chemical-reactions, Check Your Learning after Example 4.5 (d): P +5
- Formula Cr2O7^2- gives Oxidation numbers Cr +6, O −2.Source: LibreTexts, Jim Clark, Oxidation States (Oxidation Numbers), https://chem.libretexts.org/Bookshelves/Analytical_Chemistry/Supplemental_Modules_(Analytical_Chemistry)/Electrochemistry/Redox_Chemistry/Oxidation_States_(Oxidation_Numbers): 2n + 7(−2) = −2, so chromium is +6
- Formula H2O2 gives Oxidation numbers H +1, O −1.Source: LibreTexts, Jim Clark, Oxidation States (Oxidation Numbers), https://chem.libretexts.org/Bookshelves/Analytical_Chemistry/Supplemental_Modules_(Analytical_Chemistry)/Electrochemistry/Redox_Chemistry/Oxidation_States_(Oxidation_Numbers): in H₂O₂ each hydrogen is +1, so each oxygen is −1
- Formula OF2 gives Oxidation numbers O +2, F −1.Source: LibreTexts, Jim Clark, Oxidation States (Oxidation Numbers), https://chem.libretexts.org/Bookshelves/Analytical_Chemistry/Supplemental_Modules_(Analytical_Chemistry)/Electrochemistry/Redox_Chemistry/Oxidation_States_(Oxidation_Numbers): in F₂O fluorine takes priority at −1, so oxygen is +2
- Formula Fe3O4 gives Oxidation numbers Fe +8/3 (average), O −2.Source: OpenStax, Chemistry 2e, §4.2 Classifying Chemical Reactions (guidelines for assigning oxidation numbers), https://openstax.org/books/chemistry-2e/pages/4-2-classifying-chemical-reactions (sum rule)
- Formula KMnO4 gives Oxidation numbers K +1, Mn +7, O −2, Formula KMnO₄.Source: OpenStax, Chemistry 2e, §4.2 Classifying Chemical Reactions (guidelines for assigning oxidation numbers), https://openstax.org/books/chemistry-2e/pages/4-2-classifying-chemical-reactions (sum rule)
How it works
Reading the formula. Element symbols with counts, brackets ( ) and [ ] with a count after them, and hydrates with a dot (CuSO4·5H2O). The charge goes at the end: after ^ (SO4^2-), in superscripts (SO₄²⁻), after a space (SO4 2-), or as a lone sign after a letter or bracket for a charge of 1 (OH-). A digit right before a final + or − (Fe3+, NO3-) is refused as ambiguous. Other spaces are ignored, so K Mn O4 is KMnO₄, and a charge after a space needs its sign: SO4 2 reads as SO₄₂. A phase label such as (aq) is ignored. An empty formula, a formula with no element symbol, an empty bracket (Ca()2), a number in front of the formula and an electron are refused.
One element. An element on its own (O₂, S₈) is 0. An ion of one element shares its charge equally among its atoms: Fe³⁺ is +3, O₂²⁻ is −1 per O, N₃⁻ is −1/3.
Rules, highest priority first.
- Fluorine: −1.
- Group 1 metals (Li, Na, K, Rb, Cs, Fr): +1.
- Group 2 metals (Be, Mg, Ca, Sr, Ba, Ra): +2.
- Hydrogen: +1 if any other element in the formula is a nonmetal; −1 if every other element is a metal; no rule if the others include a metalloid and no nonmetal (B₂H₆, SiH₄). Metals, metalloids and nonmetals are as in OpenStax Figure 2.26; elements 113 to 118 count as neither metal nor nonmetal.
- Oxygen: −2.
- Chlorine, bromine, iodine and astatine: −1, unless the formula has oxygen, fluorine, or a halogen above it in group 17 (ICl: chlorine −1, iodine from the sum).
Sum rule. The oxidation numbers times their atom counts add up to the charge (0 for a neutral formula).
- One element with no rule: its value is (charge − sum of the others) ÷ its atom count. A value that is not a whole number is an average.
- Every element has a rule and the sum is right: done.
- Every element has a rule but the sum is wrong: the lowest-priority element (the last in the list above) comes from the sum instead: oxygen in H₂O₂ (−1) and KO₂ (−1/2), oxygen in OF₂ (+2). If two elements share that lowest priority (two group 1 metals in NaK, two group 2 metals in MgCa), the rules cannot say which one differs, so the formula is refused.
- Two or more elements with no rule: refused (CuSO₄, HCN, FeS, SiH₄).
Results. Elements in the order they first appear in the formula, with signs (+7, −2, 0) and fractions as p/q marked “average”.
Worked examples by hand
H₂S (OpenStax Example 4.5 a). H +1 (with a nonmetal); 2 × (+1) + S = 0, so S = −2.
SO₃²⁻ (Example 4.5 b). O −2; S + 3 × (−2) = −2, so S = +4.
Na₂SO₄ (Example 4.5 c). Na +1, O −2; 2 × (+1) + S + 4 × (−2) = 0, so S = +6.
AlH₃ (Check Your Learning). Al is a metal, so H is −1; Al + 3 × (−1) = 0, so Al = +3.
NH₄⁺. H +1; N + 4 × (+1) = +1, so N = −3.
Cr₂O₇²⁻. O −2; 2 × Cr + 7 × (−2) = −2, so Cr = +6.
H₂O₂. H +1 and O −2 would total −2, not 0; oxygen has the lower priority, so 2 × (+1) + 2 × O = 0 and O = −1.
Fe₃O₄. O −2; 3 × Fe + 4 × (−2) = 0, so Fe = +8/3 (average).
KMnO₄. K +1, O −2; (+1) + Mn + 4 × (−2) = 0, so Mn = +7.
Other questions people ask
How do I find oxidation numbers?
Give each element whose value is fixed by a rule its value (fluorine −1, group 1 metals +1, group 2 metals +2, hydrogen +1, oxygen −2), then use the sum rule: the oxidation numbers of all the atoms add up to the charge. In KMnO₄, K is +1 and O is −2, so (+1) + Mn + 4 × (−2) = 0 and Mn = +7.
What are the rules?
An element on its own is 0, and a monatomic ion has its charge. Fluorine is always −1. Group 1 metals are +1 and group 2 metals +2. Hydrogen is +1 with nonmetals and −1 with metals (hydrides such as NaH). Oxygen is −2 in most compounds. Chlorine, bromine and iodine are −1 unless they are with oxygen, fluorine or a lighter halogen. The sum equals the charge.
Why is oxygen −1 in hydrogen peroxide?
Hydrogen’s rule comes before oxygen’s. With H at +1, two hydrogens give +2, so the two oxygens must give −2 together: −1 each. In the same way fluorine comes first in OF₂, which makes oxygen +2.
Why does the page refuse CuSO₄?
No rule fixes copper or sulfur, so the formula alone cannot split the +6 the oxygens leave between them. Type the sulfate ion on its own, SO4^2-, to get S +6; then copper is 0 − (+6) − 4 × (−2) = +2. The page refuses rather than guesses.
Can an oxidation number be a fraction?
Yes, as an average. In Fe₃O₄ the four oxygens give −8, so the three irons share +8: +8/3 each on average (really two Fe³⁺ and one Fe²⁺). An element in two different places, such as nitrogen in NH₄NO₃, also comes out as an average (+1 here, from −3 and +5).
How do I type a charge?
After a caret (SO4^2-, NH4^+, Fe^3+), in superscripts (SO₄²⁻), or after a space (SO4 2-). A sign straight after a letter or bracket is a charge of 1 (OH-, Na+). A digit straight before the sign, as in Fe3+ or NO3-, could be a count or the charge, so the page asks for a caret.