The Rules Are Simple, But the Exceptions Are Where People Get Stuck
Oxidation numbers are a bookkeeping method for tracking electron transfer in redox reactions. You assign a number to each atom in a compound, the sum has to equal the overall charge, and you move on with balancing equations. Most students get the basic rules on day one. The real work happens when the compound refuses to play nice with those rules. A worksheet on this topic typically gives you a list of compounds and asks you to assign oxidation states to every atom. Some are straightforward—KCl, Na2O, CO2—and some are designed to trip you up. The pattern is intentional. If you're practicing, you want the hard cases, because that's what shows up on exams and in lab reports. The standard rules:
Elemental form gets zero. O2, N2, Fe(s), S8—all zero. No argument there. Monatomic ions carry their charge. Na+ is +1, Fe3+ is +3, Cl- is -1. Straightforward. Fluorine is always -1 in compounds. It doesn't negotiate.
Oxygen is usually -2. This is where the exceptions start. In peroxides like H2O2 or Na2O2, oxygen is -1. In superoxides like KO2, it's -1/2. In OF2, oxygen is +2 because fluorine is more electronegative and takes priority. If you see O-O bonding in a structure, think peroxide before you default to -2. Hydrogen is +1 with nonmetals and -1 with metals. So NaH has H at -1, but H2O has H at +1. The rule is simple once you've seen it three times and stopped second-guessing yourself. The sum rule is the anchor. In a neutral compound, all oxidation numbers add to zero. In a polyatomic ion, they add to the ion's charge. This is how you solve for the unknown. If you know five of the six atoms' states in MnO4-, you just set up the algebra and get Mn at +7.
Get the Full Details

I remember working through a set that included Na2S2O3, sodium thiosulfate. The answer key said the average oxidation state of sulfur was +2, which is technically correct if you treat both sulfurs identically. But when I actually drew the Lewis structure, one sulfur was bonded to three oxygens and the other to just the first sulfur and the sodium coordination sphere. The central sulfur was essentially at -1 and the terminal sulfur at +5. Averaging them to +2 works for redox balancing, but it hides the fact that these two atoms are in completely different electronic environments. That's the kind of thing that doesn't come up in intro chemistry but matters when you're actually analyzing a reaction mechanism. For most worksheet purposes, averaging is acceptable. But if you ever need to explain why a particular sulfur behaves differently in a redox reaction, knowing the structural basis saves you from writing something that sounds right but falls apart under scrutiny. Here's a counter-intuitive point that rarely gets enough attention: oxidation numbers are not physical observables. They're formal charges assigned by convention. The electrons in a covalent bond aren't actually localized on one atom or the other. You're making an arbitrary decision based on electronegativity ordering, and different conventions can give different results. The IUPAC rules are standard, but you'll occasionally encounter texts that handle borderline cases differently, especially with organometallics or coordination compounds.
Another common pitfall: fractional oxidation states. They're not wrong. Fe3O4 has iron at +8/3 on average. S4O6^2- has sulfur at +2.5. The math checks out. Students often panic and try to force whole numbers, but the formula demands fractions here. That's fine. Move on. When you're working through a Determining Oxidation Numbers Worksheet, the most efficient approach is to identify the easy atoms first—fluorine, group 1 metals, group 2 metals, hydrogen with nonmetals—then use the sum rule to back-solve for everything else. Don't start with the tricky atom. Start with the ones you know and work inward. If you're stuck on a particular compound and the numbers won't add up, check for peroxide or superoxide linkages before assuming you made an arithmetic error. That accounts for more wrong answers than anything else I see students make.
You can find practice sets by searching for Determining Oxidation Numbers Worksheet PDF. Most college chemistry departments have them posted online, and several open-access textbooks include problem sets with answer keys. Look for ones that include polyatomic ions with unusual structures—that's where the actual learning happens. The basic ionic compounds will reinforce rules you already know. The tricky ones reveal whether you actually understand them. A word of caution: oxidation number methods break down for certain classes of compounds. Transition metal clusters, delocalized solid-state materials, and some organometallic complexes resist clean assignment. In those cases, you're applying a model that was designed for simple ionic and covalent molecules to systems where the model doesn't really fit. The numbers you get are still useful as a bookkeeping shorthand, but they shouldn't be interpreted as literal electron counts. If you're dealing with something like a metal carbonyl cluster, formal oxidation state assignment is better done with the donor-pair method rather than the traditional electronegativity-based rules. Practice compounds to include in your own set:

Na2SO4, KMnO4, K2Cr2O7, H2SO5 (peroxydisulfuric acid, has a peroxide linkage), Na2S4O6 (tetrathionate, fractional sulfur states), Fe3O4, HNO3, ClO4-, S2O3^2-, Cr2O7^2-, MnO4^2-, OF2, H2O2, NaH, Cl2O7, P4O10, N2O4, HClO3. That last batch covers peroxides, superoxides, fractional states, and electronegativity reversals all in one list. The skill isn't hard. It's just tedious, and the tedium is where mistakes happen. Slow down on the polyatomic ions, check your arithmetic against the sum rule every time, and don't let fractional answers spook you. They're normal.