The small ferry was carrying 20 people and two crewmen on the 11-mile (18-kilometer) trip from Hormuz Island to Bandar Abbas on the mainland when it capsized.
Officials said five people were rescued and 16 bodies recovered. The last passenger was missing and presumed dead. Many of the dead were trapped inside the boat when it capsized, news reports said. The ferry captain was among those rescued.
PressTV said port officials had closed the small port on Hormuz and ordered no one to sail out because of the storm, but the ferry skipper ignored the order. Storm winds reached 50 mph (80 kph), the reports said.
Some reports said the ferry ran out of fuel or suffered an engine failure during the trip and floundered.