The year's second major tournament starts in Paris on May 28.
Federer, currently ranked No. 5 in the world, has won only one French Open title, which came in 2009.
Federer, coming off a six-month injury layoff in 2016, has put together one of the finest seasons of his career, starting in January when he beat Rafael Nadal in a five-set final at the Australian Open for his first Grand Slam title in five years.
"Regrettably, I've decided not to participate in the French Open," Federer wrote on his website. "I've been working really hard, both on and off the court, during the last month but in order to try and play on the ATP World Tour for many years to come, I feel it's best to skip the clay court season this year and prepare for the grass and hard court seasons.
"The start to the year has been magical for me but I need to recognize that scheduling will be the key to my longevity moving forward. Thus, my team and I concluded today that playing just one event on clay was not in the best interest of my tennis and physical preparation for the remainder of the season. I will miss the French fans, who have always been so supportive and I look forward to seeing them at Roland Garros next year."
The 35-year-old Federer, who followed his Australian Open win with a sweep of Indian Wells and Miami, is a seven-time champion at Wimbledon, which begins July 3.
Federer's decision came a day after Nadal won his third straight clay event in Madrid.