The storm has dumped record rainfall, leaving large parts of the Texas city underwater, homes destroyed and over 20 people reported dead, the BBC said.
Houston mayor Sylvester Turner said the curfew was needed to head off looting in America's fourth most populous city.
President Donald Trump visited Texas on Tuesday to survey the damage brought by Harvey, calling the storm "epic".
Meanwhile, Harvey – now downgraded to a tropical storm – has made landfall again in the south-west of the state of Louisiana after hovering offshore in the Gulf of Mexico.
Low-lying New Orleans, which was devastated by Hurricane Katrina in 2005, is readying to receive up to 10in (25cm) of rain in 36 hours, with flash flooding a major risk.
The curfew in Houston will run from 00:00-05:00 local time (05:00-10:00 GMT) for an indefinite period. Relief volunteers, first responders, and those going to and from work are exempt.
Read alsoFamily of six counted among the dead as Harvey death toll rises to 14 – mediaMr. Turner said the curfew would help prevent "property crimes" against evacuated homes and was in force "only to prevent potential criminal acts".
City officials have reported instances of looting, armed robberies and of people impersonating police officers.
Thousands of people have fled their homes in search of emergency shelter amid severe flooding.
President Trump earlier arrived in Corpus Christi, where Hurricane Harvey first made landfall on Friday, with First Lady Melania Trump.
After landing in Texas, Mr. Trump said he wanted the relief effort to stand as an example of how to respond to a storm. "We want to do it better than ever before," he said.
"This storm, it's epic what happened. But you know what, it happened in Texas and Texas can handle anything."
He will not be visiting Houston. The White House said he did not want his visit to disrupt the emergency response.
The rainfall in Texas set a new record for the continental U.S., the National Weather Service said on Tuesday. A rain gauge in Cedar Bayou recorded nearly 52in of rain since Friday.
More than 13,000 people have now been rescued in the affected areas.
Mr. Trump has already declared a federal state of emergency in both Texas and Louisiana. The move releases emergency government funding and other assistance.
Harvey was the most powerful hurricane to hit Texas in more than 50 years when it made landfall at Corpus Christi, 220 miles (354km) south-west of Houston. The storm is expected to continue dumping huge amounts of rain in the coming days over already flood-hit areas.