Peanut butter is known to cause staining on teeth. This is because it contains tannins, which are astringent compounds that can cause discoloration. If you regularly eat peanut butter, you may want to brush your teeth afterwards to remove any residue. You may also want to avoid eating it right before bed, as it can increase the risk of staining.