The bodies were spotted along with debris floating in the Java Sea off the Indonesian part of Borneo, in one of the search zones for the plane.
There has been no official confirmation that the remains come from the plane.
The Airbus A320-200, carrying 162 people from Surabaya in Indonesia to Singapore, disappeared on Sunday.
The search operation is now in its third day, with the area widened to cover 13 zones over land and sea.
In a separate development, there were reports of a second incident involving an AirAsia plane at Kalibo in the central Philippines. The reports said the plane overshot the runway.
During a news conference by the head of the search operation, shown live on Indonesian TV, pictures of the debris were shown including a body floating on the water.
Relatives of passengers on the plane watching the pictures were visibly shocked.
Later, the Indonesian navy reported that 40 bodies had been retrieved by one warship.
Its spokesman said the rescuers were continuing to recover bodies and were “very busy now”.
AirAsia CEO Tony Fernandes tweeted to the families: “My heart is filled with sadness for all the families involved in QZ 8501. On behalf of AirAsia, my condolences.”
Search operation head Bambang Soelistyo said he was 95% certain the objects shown were from the plane, adding that a shadow was spotted under water which appeared to be in the shape of a plane.
All resources were now being sent to the area where the debris was found, he said.
Bambang Soelistyo added that ships with more sophisticated technology were being deployed to check whether larger parts of the plane were submerged beneath the debris.
Indonesian civil aviation chief Djoko Murjatmodjo, quoted by AFP news agency, said “significant things” such as a passenger door and cargo door had been found.
Djoko Murjatmodjo added that the objects had been found 100 miles south-west of Pangkalan Bun in Borneo’s Central Kalimantan province.
At least 30 ships, 15 aircraft and seven helicopters joined the operation when it resumed at 06:00AM local time on December 30.
The operation, led by Indonesia, includes assistance from Malaysia, Singapore and Australia, with other offers of help from South Korea, Thailand, China and France. The US destroyer USS Sampson is on its way to the zone.
On board the plane were 137 adult passengers, 17 children and one infant, along with two pilots and five crew.
Most were Indonesian but the passengers included one UK national, a Malaysian, a Singaporean and three South Koreans.
AirAsia Flight QZ8501 left Surabaya at 05:35 Jakarta time on December 28 and had been due to arrive in Singapore two hours later.
Safety officials say the captain had asked for permission to take the plane higher but, by the time permission was granted, communication with the plane was lost.
The plane was officially declared missing at 07:55.
AirAsia previously had an excellent safety record and there were no fatal accidents involving its aircraft.
CuWbbGLVYpAImage source: Wikimedia Commons President-elect Donald Trump celebrated his election victory at the Ultimate Fighting…
Millions of voters across the US chose to return Donald Trump to the White House…
Donald Trump declares victory in the US election as he addresses jubilant supporters in Florida.…
Stocks around the world are rising as Donald Trump appears to be on the cusp…
Donald Trump has won Pennsylvania, North Carolina and Georgia and taken a lead over Kamala…
Quincy Jones, the celebrated musician and producer who worked with Michael Jackson, Frank Sinatra, Ray…