Heather Barnes, a New College of Florida student, was picked up off the islands of Cayos Cochinos Friday, WPVI-TV, Philadelphia, reported.
Barnes' ordeal had started before dawn.
"I couldn't sleep, so I went to collect coral samples," she wrote on her Facebook page.
After Barnes drifted away, it was several hours before she was reported missing.
Eventually, two people in Kayaks found Barnes, pulled her from the water and took her back to land.
"I accepted that maybe I won't make it but then all of a sudden I'm here," Barnes said.
Barnes, from southern New Jersey, called her mother, who had been alerted that her daughter was missing, to let her know she was OK.
"About 10:45 Friday night the phone rang and the most beautiful voice I ever heard on the other end said, 'Mommy, I'm fine. I swam all day; I'm fine, I'm alive,'" Jennifer Dukelow said.