I have some white garden pebbles which are now yellow with trace of rust. I have tried to soak them in bleach diluted with water without success. Could I receive suggestions of an appropriate material to remove the rust?
The iron oxide from rust is not soluble in high pH (basic) solutions such as bleach. If you want to remove the the rust, you need an acid such as muriatic acid (wear PPE, follow label instructions). I would recommend an oxalic acid based product such as Bar Keepers Best Friend (I have no affiliation). In my (pseudoscience) experience, oxalic acid its more effective at sequestering rust (when scrubbed) than anything else I've used including nitric, muriatic, and sulfuric acid. I would be cautious if the white rocks are marble as acid can disslove marble into oblivion.
One of the best rust removers is very strong reducing agents such as sodium hydrosulfite and sodium bisulfite. Many commercial rust removers are based on it such as Iron Out. It takes a few minutes and no acid are involved. Read instructions on the label and follow manufacturers directions.
You don’t. You need acid to remove the rust, but since your pebbles are white they are very likely to be limestone or marble. They will dissolve in the acid faster than the rust.
Your best solution is to try and scrub it off mechanically, get new pebbles, or just learn to live with the rust.
H2O2 (3%, from the drugstore) alone might do the trick, but adding a little vinegar should react with the iron oxide and keep it in solution without dissolving much of the pebble.
As mentioned from A.K. something containing oxalic acid should do the trick. That can be explained by oxalate acting as a chelating ligand. The structure of oxalate is basically two carboxylate functions covalently bound to each other, if deprotonated a bidendate ligand results. As the dianion coordinates to the iron a soluble complex will be formed which should be easily washed off.