The passenger ferry, named Sewol, carrying mainly school students, was travelling from the port of Incheon, in the north-west, to the southern resort island of Jeju.
A major rescue effort is under way, using dozens of ships and helicopters.
Several hours after the disaster, at least 290 people remained missing, local media said.
South Korean officials had earlier said that 368 people had been plucked to safety, but later said there had been a counting error.
They have now revised down the number rescued to about 180, Yonhap news agency reported.
Two people are known to have died and at least 13 others have been injured, reports say.
An official from Sanwon High School in Seoul’s Ansan suburb told Reuters that all 338 students and teachers aboard the ferry had been rescued, although that information was not immediately confirmed by authorities involved in the rescue operation.
The students aboard the Sewol were on their way to the resort island of Jeju on a school trip, according to local reports.
Images showed the ferry listing at a severe angle and then later almost completely submerged, with only a small part of its hull visible.
Pictures showed rescue teams balanced on the sinking hull pulling teenagers from cabin windows. Some of their classmates jumped into the sea as the ship went down.
Reports suggest some of those rescued were picked up by nearby commercial vessels.
Navy divers were now searching the scene for those unaccounted for, officials said.
One body, of a female crew member, had been recovered from the ship, the coastguard said. Another person is reported to have died after being rescued.
One student told local media her friends became trapped.
It is not yet clear what caused the incident, but witnesses described hearing an impact, before the ship listed and quickly sank.
One passenger told the YTN news channel: “We heard a big thumping sound and the boat stopped.
“The boat is tilting and we have to hold on to something to stay seated,” the passenger said.
Another passenger said the ship was “shaking and tilting”, with people tripping and bumping into each other.
Weather conditions were described as fine.
However, Reuters reported that heavy fog had set in overnight off the west coast, leading to the cancellation of many island passenger ferry services.
The Busan Regional Maritime Affairs & Port Administration confirmed that the ferry sent a distress call Wednesday morning local time.
News agencies said the ferry had sent out a distress signal about 12 miles off the island of Byungpoong at about 09:00 local time.
Earlier reports put the number of passengers on the ferry at about 350. The Sewol is reported to have a capacity of up to 900 people. Shipping records show it was built in Japan in 1994.
547p-6gSxNI Z2Dw0D9P2owThe US House Ethics Committee has voted to release its report on former Republican Representative…
ABC News has agreed to pay $15 million to President-elect Donald Trump to settle a…
South Korea’s parliament has voted to impeach President Yoon Suk Yeol over his failed attempt…
Israeli war planes have carried out more than 100 air strikes in Syria on December…
President-elect Donald Trump has threatened to impose 100% tariffs on the BRICS countries if they…
Syrian troops have withdrawn from the city of Aleppo following an offensive by rebels opposed…