Rust stains in a toilet are most often caused by iron in the water. Several methods are effective at removing rust stains from the toilet bowl or rim, from natural homemade cleaners to commercial chemicals. Start with the easiest ones first and move on to the more difficult methods. If you can't remove the rust stains, you may have to replace the toilet completely.
Pour 1/4 cup cream of tartar into a mixing bowl. Add enough hydrogen peroxide to make a thick paste. Apply the paste to the rust stains on the toilet, and allow it to sit for one hour. Rinse a small portion of the area to see if the stains are gone. If not, leave the paste on overnight and then rinse clean.
Remove rust stains from the toilet bowl by scrubbing with wet/dry sandpaper or a pumice stone. Put on a pair of rubber gloves to protect your hands and dampen the stone or sandpaper before scrubbing. Either of these items will work for extremely stubborn rust stain removal.
Use a rust stain remover that contains oxalic acid. The acid will quickly eat away at the rust stains and remove them for good. Read and follow the manufacturer's directions thoroughly as oxalic acid is a toxic substance.