The local police chief, Clever Zegarra, said the cause of the fire was under investigation.
One resident of the center in Lima's teeming San Juan de Lurigancho district said he was eating breakfast at 9 a.m. local time on the second floor of the center when he saw flames coming from the first floor, where the blaze apparently originated.
Gianfranco Huerta told local RPP newsradio station that he leapt from a window to safety.
"The doors were locked, there was no way to get out," he told the station.
An AP journalist at scene said all the windows of the building he was able to see were barred. Journalists were not allowed inside as police cordoned off the block. By early afternoon, all bodies had been removed from the center.
Tejada said the number of deaths had risen to 26 with six people injured.
"This rehabilitation center wasn't authorized. It was a house that they had taken over... for patients with addictions and they had the habit of leaving people locked up with no medical supervision," Tejada said.
Authorities said they did not know how many people were inside the center at the time of the fire.
They said they were looking for the center's owners and staff, some of whom apparently fled the scene.
Zavala said the fire was of "Dantesque proportions." Firefighters had to punch a hole through a wall with an adjoining building to help the people trapped inside the rehabilitation center.
"We've had to use electric saws to cut through the metal bars of the doors to be able to work," Zavala said.
Relatives of residents of the center gathered in front of the building weeping and seeking word of their loved ones.
One of them was Maria Benitez, the aunt of 18-year-old Carlos Benitez, who she said was being treated at the center.
"I want to know if he is well or not... his mother sent him here to rehabilitate him because he used drugs," she told ATV television.
Local media reported that the "Christ is Love" rehabilitation center sought to use Biblical teachings to help treat addicts.
Peru's fire fighters are notoriously underfunded. All the South American country's firefighters are volunteer and the annual firefighting budget for the entire country is $19 million.