As Gord says, oxalic acid is the base component for many popular branded rust removing products.
If you want to save a lot of money
, then buy oxalic acid crystals and make your own product. The crystals are sold by the tub in pool shops where its used to clean grp pools.
Two tablespoons into a bucket of fresh water
gives enough solution to clean a 30 foot hull
of brown rust stains. We used if for years in Western Australia
. Our Swan River carries a lot of iron down with it and quickly leaves brown staining on surfaces it touches, from the concrete foreshore to yacht hulls.
A wipe down with the above solution - left for 3 / 5 minutes then rinsed off with fresh water
- removes the stains like magic.
You can also use the same solution to brighten teak
If you've more serious problem then mix up a stronger solution (say 20/1 water to crystals) with micro balloons and to create a paste which will stick to most things whilst it does its work.
We used that on things like bottlescrews and lifelines
, nuts and bolts etc......even rust stains left by iron filings. Remember to rinse it off and always wear rubber gloves and eye protection.
A tub used to last us 5 years or more and whilst not sure of costs today - it is certainly cheaper than proprietory products.