The fire was first detected in a room close to the kitchen on the first floor of the Rituraj Hotel, police sources said.
Flames and smoke soon engulfed the entire building in the central business area of Burrabazar, the sources said, adding that almost all of the 45 rooms in the hotel were occupied and about 50 people were in the building at the time.
Most dead bodies were found in the staircase of the hotel and asphyxiation was suspected to be the main cause of death, said Sujit Bose, the fire and emergency services minister of West Bengal state.
Eight bodies had been identified so far, Bose said.
"The forensic team is visiting the site (on Wednesday) and an inquiry has been ordered to find out the cause of the fire. It will also look into why the hotel's inbuilt fire fighting system did not work," he said.
Many guests of the hotel managed to escape but one person jumped from the roof out of fear and died, Kolkata Mayor Firhad Hakim told reporters.
Senior police officer Manoj Kumar Verma said five people were rescued from their rooms, around 20 from the roof while some were also rescued from balconies.
He said the fire was extinguished after an operation that involved six fire engines.
Prime Minister Narendra Modi posted on X that he was "anguished" by the loss of lives in the fire.
Fires are common in India, where builders and residents often flout building laws and safety codes. Activists say builders often cut corners on safety to save costs and have accused civic authorities of negligence and apathy.
In 2022, at least 27 people were killed when a massive fire tore though a four-storey commercial building in New Delhi.
with Reuters