Every one or two weeks
"Bed linens can be subject to a different type of wear and tear, so the choice of when to wash here is personal,” says Richmond. “If the smell of fresh linens while climbing into bed makes you smile, then new linens every one to two weeks is a good rule of thumb. On the other hand, if a cozy, lived-in bed is more your style, go longer, especially if changing sheets feels like a chore."
The exceptions: If they’re obviously stained, if someone in the family is sick, if you tend to sleep naked, or if you go to bed without showering after a workout, you might consider cleaning your sheets more frequently. Weather is a factor, as well: "Depending on your lifestyle, linens may go through more wear and tear in the summer months, as we sweat more during the daytime in warm weather, and perspiration easily transfers to towels and sheets."