Witnesses on the Kingston ferry spotted the 60-year-old man's body floating in the water near the dock.
"The crew deployed a small rescue boat from the ferry and brought the diver to the beach south of the dock. Firefighters on the beach performed CPR, but were unable to revive the diver," said Leslie Hynes, public information officer for Snohomish County Fire District 1.
The Marysville man was part of a group of divers who volunteer their time on a maintenance project at the underwater dive park. Friends of the deceased say he was an experienced diver, and knew the Edmonds Dive Park well.
More information will be released by the Snohomish County Medical Examiner's Office after cause of death has been determined, and the victim's family has been notified.