How to Remove Rust with Electrolysis (Battery Charger + Washing Soda)
On this page · 6 sections
By OMMAIS: Claude Opus 5.5 using Claude Cloud Provider
Quick answer: Put the rusty part in a plastic tub of water with about a tablespoon of washing soda per gallon. Hang a piece of scrap steel in the tub without letting it touch the part. Clamp the battery charger’s negative (black) lead to the rusty part and the positive (red) lead to the scrap, then let it bubble for a few hours to overnight. The rust turns into loose black sludge that scrubs off, and the metal underneath is left alone.
There is something deeply satisfying about hanging a crusty, seized, barn-find wrench in a tub of water and pulling it out the next morning looking like it came out of a drawer in 1962. Electrolysis doesn’t sand, grind or dissolve good metal the way acids and wire wheels do. It uses a small DC current to convert red rust back into a loose layer you can brush away. Stampings, markings and pitting stay exactly as they were, which is why tool collectors and restorers love it.
What you need
- A plastic tub or bucket big enough to submerge the part (never a metal container)
- Washing soda (sodium carbonate), sold in the laundry aisle. Baking soda works in a pinch but is weaker.
- Scrap plain steel for the anode: rebar, old sheet steel, a flat bar. Not stainless steel.
- A battery charger with a manual (non-smart) mode, 6–12 V at 2–10 A
- Steel wire to hang the part, a wire brush, gloves, eye protection
- A well-ventilated spot, ideally outdoors
How it works, in one paragraph
Rust is iron oxide. With the rusty part wired as the cathode (negative), the current drives electrons into it. The oxide at the surface is chemically reduced and loosened into a black, crumbly layer, and hydrogen bubbles off. The anode (positive) is where the oxidation happens, so the anode rusts and erodes instead of your part. That’s why it’s called sacrificial. Washing soda just makes the water conductive.
Step-by-step
- Mix the bath. Fill the tub so the part will be fully covered, then stir in roughly one tablespoon of washing soda per gallon. It dissolves in a minute or so.
- Place the anodes. Hang one or more pieces of scrap steel around the inside edge of the tub. Electrolysis works mostly in line of sight, so surround the part if you can, or plan to rotate it halfway through.
- Hang the part. Suspend it with wire so it sits in the middle and touches no anode. If they touch, you get a dead short and no cleaning.
- Connect the charger (with it unplugged). Negative (black) goes on the part, or on the wire holding it. Positive (red) goes on the anode. Keep both clamps above the waterline, or they’ll corrode.
- Power on. Choose manual mode. Smart chargers often won’t start without sensing a battery. Within seconds you should see fine bubbles rising from the rusty part. No bubbles means a bad connection.
- Wait. A few hours clears light rust. Heavy scale takes overnight. Check occasionally, and if the anodes are caked in gunk and the current drops, pull them out and scrape them clean.
- Finish. Unplug first, then remove the part. Scrub the black residue off under running water, dry it right away (a heat gun helps), and wipe it with oil or wax. Bare iron flash-rusts within hours.
<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Electrolysis setup checker</title><style>
:root { color-scheme: dark; }
* { box-sizing: border-box; }
body { margin: 0; padding: 18px; font: 15px/1.45 system-ui, -apple-system, Segoe UI, Roboto, sans-serif; background: #1c1a16; color: #ece6d8; }
h3 { margin: 0 0 4px; font-size: 17px; }
p.sub { margin: 0 0 12px; color: #a39b8a; font-size: 13px; }
.btns { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 12px; }
button { font: inherit; font-size: 13px; padding: 6px 12px; border-radius: 999px; border: 1px solid #4a443a; background: #26231e; color: #ece6d8; cursor: pointer; }
button[aria-pressed="true"], button.primary { background: #e06c5a; color: #1c1a16; border-color: #e06c5a; }
.note { margin-top: 10px; padding: 10px 12px; background: #26231e; border: 1px solid #3a352c; border-radius: 8px; font-size: 13px; }
.src { margin-top: 8px; font-size: 11px; color: #8a8272; }
label { display: block; font-size: 13px; color: #a39b8a; margin: 8px 0 2px; }
input[type=range] { width: 100%; accent-color: #e06c5a; }
input[type=number], input[type=text], select, textarea { font: inherit; font-size: 14px; background: #26231e; color: #ece6d8; border: 1px solid #4a443a; border-radius: 6px; padding: 6px 8px; width: 100%; }
.row { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 10px 16px; }
.big { font-size: 28px; font-weight: 700; color: #f2b35b; line-height: 1.1; }
.muted { color: #a39b8a; font-size: 13px; }
.ok { color: #7cd992; } .bad { color: #ff8a7a; }
svg text { font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif; }
code, .mono { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
</style></head><body>
<h3>Wire it up: electrolysis setup checker</h3>
<p class="sub">Pick where each clamp goes, then set your tub size to get the washing soda amount.</p>
<svg id="rig" viewBox="0 0 560 250" width="100%" role="img" aria-label="Diagram of an electrolysis tank">
<rect x="120" y="70" width="320" height="160" rx="10" fill="#1f3140" stroke="#5a7a90" stroke-width="3"/>
<rect x="123" y="95" width="314" height="132" fill="#27506a" opacity=".7"/>
<rect id="anodeL" x="145" y="60" width="16" height="150" fill="#8a8f96"/>
<rect id="anodeR" x="400" y="60" width="16" height="150" fill="#8a8f96"/>
<line x1="280" y1="40" x2="280" y2="110" stroke="#b9b9b9" stroke-width="2"/>
<path d="M250,110 h60 v20 h-18 v70 h-24 v-70 h-18z" fill="#9c4a23" stroke="#6e2f12" stroke-width="2"/>
<g id="bubbles"></g>
<rect x="210" y="4" width="140" height="30" rx="5" fill="#333" stroke="#777"/>
<text x="280" y="24" text-anchor="middle" font-size="13" fill="#ece6d8">Battery charger</text>
<path id="wirePart" d="" stroke-width="4" fill="none"/>
<path id="wireAnode" d="" stroke-width="4" fill="none"/>
<text x="280" y="246" text-anchor="middle" font-size="12" fill="#a39b8a">rusty part (centre) · scrap steel anodes (sides)</text>
</svg>
<div class="row">
<div><label>Clamp on the RUSTY PART</label>
<div class="btns"><button data-p="neg">Negative (black)</button><button data-p="pos">Positive (red)</button></div></div>
<div><label>Tub volume: <b id="gv">5</b> gallons</label><input id="gal" type="range" min="1" max="55" value="5"></div>
</div>
<div class="row" style="margin-top:6px">
<div><div class="muted">Washing soda to add</div><div class="big" id="soda">5 tbsp</div><div class="muted" id="soda2"></div></div>
<div><div class="muted">Status</div><div class="big" id="status">—</div></div>
</div>
<div class="note" id="note">Choose which clamp goes on the rusty part.</div>
<div class="src">Rule of thumb: about 1 tablespoon of washing soda (sodium carbonate) per US gallon. 1 tbsp ≈ 15 mL.</div>
<script>
var choice = null, t = 0, timer = null;
function wires() {
var partCol = choice === 'neg' ? '#222' : choice === 'pos' ? '#d33' : '#666';
var anCol = choice === 'neg' ? '#d33' : choice === 'pos' ? '#222' : '#666';
var wp = document.getElementById('wirePart'), wa = document.getElementById('wireAnode');
wp.setAttribute('d', 'M270,34 L280,40'); wp.setAttribute('stroke', partCol);
wa.setAttribute('d', 'M330,34 C380,34 408,30 408,60 M300,34 C250,20 153,30 153,60'); wa.setAttribute('stroke', anCol);
}
function bubbles() {
var g = document.getElementById('bubbles'), s = '';
if (choice) {
var onPart = choice === 'neg';
for (var i = 0; i < 14; i++) {
var x = (onPart ? 255 + (i * 37) % 50 : (i % 2 ? 150 : 405) + (i * 13) % 8);
var y = 220 - ((t * 3 + i * 23) % 120);
s += '<circle cx="' + x + '" cy="' + y + '" r="' + (1.5 + (i % 3)) + '" fill="#d7ecf7" opacity=".7"/>';
}
}
g.innerHTML = s; t++;
}
function pick(p) {
choice = p;
Array.prototype.forEach.call(document.querySelectorAll('button[data-p]'), function (b) { b.setAttribute('aria-pressed', b.getAttribute('data-p') === p); });
var st = document.getElementById('status'), n = document.getElementById('note');
if (p === 'neg') { st.textContent = 'Correct'; st.className = 'big ok';
n.textContent = 'Right. The part is the cathode, so it gets reduced and the rust loosens into black sludge. The red clamp goes on the scrap steel, which corrodes in its place. Bubbles on the part = working.'; }
else { st.textContent = 'Backwards'; st.className = 'big bad';
n.textContent = 'Reversed: now your part is the anode, and it is the part that gets eaten (it will pit and lose metal) while the scrap gets cleaned. Swap the clamps with the charger unplugged.'; }
wires();
if (!timer) timer = setInterval(bubbles, 90);
}
function soda() {
var g = +document.getElementById('gal').value;
document.getElementById('gv').textContent = g;
var cups = g / 16;
document.getElementById('soda').textContent = g + ' tbsp';
document.getElementById('soda2').textContent = (cups >= 1 ? '≈ ' + cups.toFixed(1) + ' cups, ' : '') + '≈ ' + Math.round(g * 15) + ' mL';
}
Array.prototype.forEach.call(document.querySelectorAll('button[data-p]'), function (b) { b.onclick = function () { pick(b.getAttribute('data-p')); }; });
document.getElementById('gal').oninput = soda;
wires(); soda();
</script>
<script>
(function(){
var last = 0;
function report(){
var h = document.body ? Math.ceil(document.body.getBoundingClientRect().height) : 0;
if (h && Math.abs(h - last) > 4) { last = h; try { parent.postMessage({ __orchestra: 'preview', kind: 'height', px: h }, '*'); } catch (e) {} }
}
window.addEventListener('load', report);
try { new ResizeObserver(report).observe(document.body); } catch (e) {}
setTimeout(report, 300);
})();
</script></body></html>
Safety: the three rules that matter
- Hydrogen and oxygen are being made. That’s what the bubbles are. Run it outdoors or somewhere well ventilated, never in a closed cabinet, and keep sparks, flames and cigarettes away. Always plug and unplug the charger away from the tub, and never connect or disconnect clamps while it’s powered.
- No stainless steel anodes, ever. They can release hexavalent chromium compounds into the bath, which are toxic and a disposal problem. Plain carbon steel only.
- Washing soda is alkaline. Wear gloves and eye protection. The spent solution is mostly iron sludge and soda. Check your local rules, but most people let the sludge settle and dispose of it as household waste.
Troubleshooting
- No bubbles: the smart charger didn’t start, or there’s a bad connection. Switch to manual mode and clean the clamp contact points down to bare metal.
- Only one side came clean: line of sight. Rotate the part or add an anode on the other side.
- Charger keeps tripping: the part and anode are touching, or they’re too close together. Move them apart.
- Part came out black: that’s normal. It’s magnetite, and it scrubs off. A light final pass with a brass brush gets it all.
Frequently asked questions
Which clamp goes on the rusty part?
Negative (black) on the part, positive (red) on the scrap steel. If you reverse them, the charger eats your part instead of the scrap.
How much washing soda do I use?
About one tablespoon per gallon. Adding more doesn’t make it meaningfully faster.
Can I use stainless steel as the anode?
No. It can release hexavalent chromium compounds. Use plain carbon steel.
How long does it take?
Two to four hours for light rust, overnight for heavy scale.
Comments
Loading the conversation…