Up to 38 people are feared dead after a fire at a psychiatric hospital north of the Russian capital, Moscow.

The fire broke out in the early hours and swept through a single-storey building at the hospital in the village of Ramensky, 120km north of Moscow.

Officials said 36 bodies had so far been recovered.

They said the blaze was caused either by patients smoking or an electrical fault.

President Vladimir Putin called for an explanation of the "tragedy" and told emergency services to do all they could to help.

Andrei Vorobyov, interim governor of the Moscow region, said that some windows had been barred to meet regulations while others had not.

He told Russia 24 television that a nurse had led two patients to safety.

"Obviously, all the patients were sleeping and they were sick people ... so they would have needed help to get out," he said.

He said the incident "happened in a flash".

"The nurse opened the door to the room and there was smoke, and even when she saw the fire she could not get to the fire extinguisher," he added.

Dmitry Pestov, deputy head of the Moscow region, said 41 people had been in the building but three had been saved and were in hospital.

"Fire safety watchdogs constantly check all (public) institutions and issue recommendations. As far as I know, all the recommendations had been followed," he told reporters outside the hospital which still smouldered.

"There are different versions, including arson and a short circuit. They will be checked."

Fires at state institutions in Russia such as hospitals, schools, drug treatment centres and homes for the elderly or disabled often cause casualties, raising questions about safety measures, conditions and escape routes.