Indonesia will impose "emergency" coronavirus restrictions this week to battle an alarming surge in infections, President Joko Widodo said Thursday, as the country scrambles to avoid a collapse of its overwhelmed healthcare system.

Widodo said the new curbs, starting Saturday, would last more than two weeks in the capital Jakarta, hard-hit Java, and the holiday island Bali after infections surged to record levels.

Daily cases almost reached 25,000 on Thursday, a new record for Southeast Asia's worst-hit nation, as authorities warned about the rapid spread of highly infectious variants.

"This situation has forced us to take stricter steps... I have decided to impose emergency restrictions," Widodo said in a nationwide address.

The new measures, slated to run until July 20, include ordering all non-essential employees to work from home, while classes will only be held online.

Shopping malls and mosques will also be shuttered in a bid to bring new daily cases to below 10,000 in the Muslim majority nation.

But public transit and domestic travel would still be allowed for people who have had at least one vaccine dose and wedding receptions were still on the cards with limited guest numbers.

Many hospitals in Indonesia have been overwhelmed by the latest coronavirus wave
Many hospitals in Indonesia have been overwhelmed by the latest coronavirus wave AFP / Rezas

"It's better than nothing," said Indonesian epidemiologist Windhu Purnomo.

"But it still isn't strict enough because this allows people to move around... It's a half-hearted measure, so I don't have high hopes for its effectiveness."

Indonesia on Thursday logged 504 deaths in 24 hours, a new daily record.

Indonesia's government, widely accused of responding inadequately to the pandemic, has imposed restrictions in the past but not the strict lockdowns seen in other nations.

Jokowi had earlier said that limited measures were necessary to avoid tanking Southeast Asia's biggest economy.

But hospitals in Jakarta, and in West and Central Java, have been flooded with patients in recent weeks, including those infected with the highly transmissible Delta variant, which was first identified in India.

Indonesia is struggling with an alarming spike in coronavirus infections
Indonesia is struggling with an alarming spike in coronavirus infections AFP / BAY ISMOYO

Some facilities have been forced to set up tents outside to deal with the influx and there are reports of patients being turned away from overflowing hospitals.

Some desperate relatives have shuttled sick family members from one full facility to another.

Randy, a Jakarta-area resident, said he struggled to get hospital treatment for his critically ill grandmother.

"In the end, we took her home and bought oxygen," the 33-year-old said.

"But the next morning, she didn't respond. She had stopped breathing.

"The country couldn't provide basic health services for her."

Fears of oxygen shortages sparked a surge in demand among people hoping to treat sick relatives isolating at home. Government officials said that there was enough supply, but acknowledged some hospitals were running short due to distribution problems.

"It was too difficult to admit my relative to hospital so they're quarantined at home -- that's why we need oxygen," one Jakarta resident told AFP at a shop that was refilling tanks.

"I've been looking for oxygen tanks for three days now. I came here and joined the queue, hopefully I can get it."

The Indonesian Red Cross warned this week that the country was on "the edge of catastrophe", as the Delta variant spreads rapidly.

Health authorities have also warned that serious virus cases among young children, including deaths, were rising steadily while over a dozen fully vaccinated doctors have succumbed to Covid-19.

The rise of severe cases in inoculated medical workers has raised questions about the China-produced Sinovac jab, which Indonesia is heavily relying on to vaccinate more than 180 million people by early next year.

Only about five percent of the population has been fully vaccinated so far.

Indonesia's official coronavirus infection tally has risen above 2.1 million with 58,995 deaths. But the real number is believed to be much higher due to low testing rates.