Michael Trapp, 42, of Gouverneur, N.Y., was picked up by a fishing boat and taken to Harbor Beach, Mich., a lakeshore town 125 miles northeast of Detroit, Police Chief Sid Schock said. The U.S. Coast Guard described his condition as good.
Trapp told authorities that his plane crashed 17 miles east of Harbor Beach, and he swam 15 miles toward shore before the rescue, the Coast Guard said.
"He ate a couple of bananas and spent the night in the water. He's quite chilled," Schock said. "I can't tell you how he's going to do long term but he was talking in the ambulance."
Trapp was the only person aboard the two-seat Cessna on a flight to Eau Claire, Wis., from New York. The Federal Aviation Administration called the Coast Guard after losing contact with him about 5 p.m. Tuesday.
Trapp wasn't wearing a life jacket and treaded water the entire time after the plane crash, Huron County Sheriff Kelly Hanson said.
"It's something you're not going to hear too often. We would have had (waves) of probably 4 to 5 feet," the sheriff said. "The airplane was not running. It flipped over, and he had his door open. He was able to get out before the airplane sank."
Trapp did not immediately return a message seeking comment. He was examined at Harbor Beach Community Hospital and then transferred to Covenant Medical Center in Saginaw.
The president of Harbor Beach hospital, Ed Gamache, would not discuss Trapp's health but said he was talking to doctors and in "excellent spirits."
"It's a remarkable story," Gamache said.