The Jiimaan, which services Pelee Island in Lake Erie, got hung up on a sandbar 60 metres (200 feet) off shore at 1:45 p.m. Thursday.
The ship is carrying 18 passengers, 15 crew members and two transport trucks hauling grain.
Low water levels are to blame for the incident, according to Susan Schrempf, president and CEO of the Owen Sound Transportation Company, which operates the ferry. She said days of high winds have moved sand into the channel and lowered the water levels.
Canadian Coast Guard marine co-ordinator Chris Armour said conditions were too rough to attempt a rescue.
"We just can't take anyone off the boat. So they're a lot safer on the boat," he said. "It just couldn't be done safely."
Armour said waves measured a metre and were breaking. The water was so rough even the coast guard left a boat docked in Kingsville for the night.
The wind is supposed to die down and change direction after midnight. The coast guard will attempt another rescue at 5:30 a.m. Friday.
"Signing off for tonight ... back in the morning. Thinking about our passengers and crew — hope they have a good night!" the the Owen Sound Transportation Company tweeted at 7 p.m.
Earlier in the day, Schrempf said the company didn't want to keep people on board “for more than three or four hours.”
“It’s absolutely safe. The only issue now is whether the passengers have to stay on board until we can bring the ship into dock or if it’s safe to get them off using the coast guard,” Schrempf said at 4 p.m. Thursday. “We have enough food on board to keep people quite comfortable until later in the evening.”
The Transportation Safety Board of Canada said it was deploying "a team of investigators" to look into the incident.