The penny cleaning experiment is one of those things every middle schooler has done, usually at 10 AM on a Tuesday while the teacher is grading papers. You get a handful of dirty pennies, some household liquids, and a worksheet to record what happens. It seems straightforward until it isn't.
I've watched this experiment go sideways more times than I care to count. Kids using salt and vinegar when the instructions called for dish soap. Pennies left too long and turning green instead of shiny. Or worse, the worksheet gets filled out with answers everyone copied from the kid who actually read the instructions. The worksheet itself isn't the problem—it's just a data table—but the way it's set up can make or break the whole thing. At its core, the worksheet is designed to track variables: which cleaning solution you used, how long you soaked the penny, what color change you observed, and whether the penny came out shiny or damaged. Most versions have four columns for different liquids—vinegar and salt, lemon juice, dish soap and water, maybe something like cola or bleach if the teacher is feeling adventurous. Then there's a results column where students note what actually happened after a set soaking time. The typical procedure runs like this. Take six to eight tarnished pennies. Label four cups with your cleaning agents. Drop two pennies in each cup. Set a timer for five to ten minutes. Watch. Pull them out. Rinse. Record. The worksheet captures all of that in a structured format so the teacher can actually compare results across students instead of collecting a bunch of scribbled notes that mean nothing.
Here's where people mess up. The most common issue is not controlling the soak time. One student leaves their penny in for three minutes while another waits ten. The vinegar-and-salt solution works fastest by default because the acid reacts with the copper oxide on the penny's surface, and salt speeds up the ion exchange. So if you're comparing results across cups, keep the timing identical. Use a real timer, not the one on your phone that you keep checking and resetting. I once had a student who dipped his penny in dish soap and water for fifteen minutes, then declared the soap didn't work. The penny was still dull. He didn't realize dish soap doesn't chemically react with copper oxide the way an acid does. It only loosens surface grime. The penny was clean underneath the oxidation layer, but he couldn't see it without a more aggressive cleaner. That's the kind of thing the worksheet should force students to think through, not just fill in mechanically. A better worksheet design includes a prediction section before the experiment starts. Students write down what they expect each solution to do, then compare that to what actually happened. That's where the learning is. The results column alone is just data entry. The comparison between prediction and outcome is where the chemistry concept clicks into place.
Another thing most worksheets ignore: the type of penny matters. Pennies minted before 1982 are 95% copper. Those after 1982 are zinc cores with a copper plating. The pre-82 pennies clean differently because the entire surface is copper. The post-82 ones can get damaged if you scrub too hard—the plating can wear off and reveal the gray zinc underneath. I had a kid get frustrated because his "clean" penny came out half-bronze and half-gray. He thought he'd ruined it. He hadn't. He'd just hit the zinc core. If you're making or assigning this worksheet, include a note about penny composition. It changes the entire experiment. You can even turn it into a follow-up question: why did two pennies look the same going in but react differently? That's the kind of thing that separates a busywork lab from an actual science activity. For the cleaning solutions themselves, here's what actually works and what's mostly theater. Vinegar plus salt is the gold standard for this experiment. The acetic acid breaks down copper oxide, and the chloride ions from the salt help dissolve the resulting copper acetate. You'll see results in under two minutes. Lemon juice works too—it's citric acid, which is slightly weaker but still effective. Dish soap alone does almost nothing chemically. It might remove some surface dirt but won't touch the oxidation. Water does nothing. Cola is acidic enough to have a mild effect, but it's slow and messy. Bleach is dangerous and unnecessary for this level of experiment.
Get the Full Details

If you want the worksheet to be useful for actual grading, include a reflection section at the end. Not just "what happened" but "why did it happen?" and "which solution was most effective and why?" That pushes students from observation to explanation, which is the whole point of the lab. There are printable versions of this worksheet floating around the usual education sites, but honestly, the best ones are the ones you make yourself based on what your specific class needs. A one-page table with columns for solution, time, prediction, result, and explanation is all you really need. Don't overcomplicate it with fancy headers or decorative borders. Teachers add those thinking it looks professional. Students ignore them and get to the boxes they actually have to fill in. The experiment takes about twenty minutes total including setup and cleanup. The worksheet should take maybe five minutes to complete if it's well designed. If a student is spending fifteen minutes on the data table, the worksheet is too complicated or they're second-guessing every entry. Cut the columns. Remove the fluff.
One edge case worth noting: if the pennies are heavily oxidized, sometimes the vinegar-and-salt method leaves a residue that looks like a film instead of a clean shine. A quick rinse in plain water and a gentle rub with a paper towel fixes it. Students often skip the rinse step and write down that the solution didn't work because they misinterpret the residue as failure. The worksheet should account for a rinsing step in the procedure, not just the soaking and observing parts. That's it. The penny cleaning experiment worksheet is a simple tool that works when it's kept simple and used correctly. Any more elaborate than that and you're just adding busywork to an already straightforward lab.