A freediver has walked away shocked but unscathed after a 3.5-metre great white shark snatched the fin from his foot, in waters off Wollongong's Five Islands.

There were seals in the water as Callum Stewart made his way to the surface off Martin Island about 9am on Saturday. He was five metres below when he thought he felt one of them bump him from behind.

With one fin gone, Callum Stewart is pictured about three metres from the great white as it appears to decide whether he is a food source. Credit:Mitchell Scanlan-Bloor

The blow knocked him upward. Something brushed against his left arm and he marvelled at the seal's incredible power and bravado. Through a curtain of bubbles, he was awestruck to realise his error.

"I turned around to have a look and that's when I saw it was a shark," said Mr Stewart.