More than 1,000 people took to the freezing waters of the Forth Estuary in the 26th successive Loony Dook event.
It was preceded by the grand parade of Loonies near the Forth Bridge, watched by hundreds of spectators.
The event is expected to raise thousands of pounds for charities.
About 50 people also participated in a swim at the East Beach in Dunbar to raise money for Chest, Heart and Stroke Scotland.
James MacKenzie, who took part in the South Qeensferry Loony Dook, said: "This is the 26th year, 26 years of doing it and I have enjoyed every one.
"You meet people from all over the world. One year there were only four of us but today there's over a thousand."
Another participant, Iain Andrews, said: "It gets rid of a hangover, very quickly, I might add."
Both men are part of the original group that started the Loony Dook in the Forth.