Natural oils from the body, as well as commercial oils for massage--sometimes called body oil--transfer easily to bedding. These oils can leave ugly stains. Left unwashed, body oil stains may not only look bad, they will create a bad odour. Getting oil out of fabrics takes extra time, but you'll spare yourself from having to buy new bedding if you treat these stains promptly. Like any stain, you'll get body oil more easily out of your bedding if you wash it when you first notice the stain.
Soak bedding in warm water. Add degreasing dish detergent (the kind for hand washing dishes) directly to the oily stains. For soaking, you can place the bedding in a washer or in your bathtub. Do not use dish detergent that is intended for dishwashers. These are too alkaline, according to ohioonline.osu.edu; they may irritate skin and fade coloured fabrics.
Rub the dish detergent into the oily areas using a sponge or by rubbing the fabric together. Let the bedding soak for at least half an hour; you can soak it longer (an hour or two) if you wish.
Run the bedding through one gentle, warm water wash cycle in your washing machine. You don't need to add detergent yet, since the bedding already has dish detergent on it.
Check the bedding for stains. If significant stains still show, spray a pre-wash stain treatment on the stains (make sure it is colour-safe if your bedding is coloured fabric). You may need to wait a few minutes after stain-treating to put the bedding through another wash cycle--check the product label.
Machine wash the bedding again in warm water. Add washing powder this time; use a good detergent intended for biological stains.
Check the bedding to make sure all stains are gone. According to beddingcare.com, dryer heat will set the stain. Put the sheets in the dryer only after you are sure the stain is gone (or hang them indoors to dry).
Dry-clean only bedding, such as silk and down, should be taken to your dry cleaners for professional cleaning.