Witnesses on shore said the young man disappeared from view momentarily after being dragged out by the rip tide.
He managed to scramble onto a rock around 50m from shore and was giving a thumbs-up sign.
Sur lifesavers in a dinghy rescued the swimmer around 4.15pm.