The 45-year-old man, who was himself wearing a yellow vest, revealed the device at a car wash in the shopping centre of the town of Angers.
He surrendered at 10:40 pm (2140 GMT) in the shopping centre's parking lot after several hours of negotiations with police, the Maine-et-Loire department said.
“He demanded that the yellow vests be received at the Elysée” presidential palace, local prosecutor Yves Gambert told AFP.
Local official Bernard Gonzalez said: “There was a real risk, real danger, he had an explosive charge around his neck… This was not fake.”
“It could have been dangerous for all the 'yellow vests' who spent the afternoon with him,” he said, adding that the man clearly had experience with explosives.
Interior Minister Christophe Castaner tweeted that the man had threatened to use “unidentified explosive elements and tampered grenades”.
The device is being inspected by experts, Gonzalez said.
The incident took place at the Espace Anjou shopping centre, near where “yellow vests” protesters in Angers have gathered for the last week.
The nationwide demonstrations have been led by mostly rural or small-town voters wearing high-visibility “yellow vests” who are fed up with rising fuel prices and the policies of unpopular President Emmanuel Macron.
The protest movement quickly disavowed the man.