Three flea-riddled kittens frolic under the feet of a food vendor at a bustling train station in Jakarta, home to one of the biggest urban stray cat populations on Earth.
Numbering as many as 1.5 million by some counts -- about one for every ten human inhabitants of the sprawling Indonesian capital -- street cats are ubiquitous and, for the most part, doted on.
"Cats are there to neutralize negative auras and to cheer you up," 33-year-old vendor Saiful Faizin told AFP.
He gives the strays water and leftovers from his chicken porridge cart and plays tenderly with the little ones.
With no government department dedicated to domestic animal welfare, stray cat numbers in Jakarta have exploded over the years.
They live at the mercy of the elements, dodging Jakarta's notoriously chaotic traffic and depending on kind-hearted people for food and medical care.
"There are too many cats here... so they end up dying... (in) incidents involving motorbikes," said Hilwa Tasya Sholehah, 25, a vendor at a public park in Jakarta.
While they welcome the free rat control, some residents decry smelly cat urine, noisy territorial fights and property damage such as scratches to motorbike seats.
And though Jakarta has boasted rabies-free status since 2004 -- partly thanks to mass vaccination of strays -- cats can transfer other bugs or parasites to humans.
"Some people don't realize that giving food for the cats without spaying or neutering them can cause another problem, which is overpopulation," Carolina Fajar of the Let's Adopt Indonesia NGO told AFP at a sterilization drive in the park.
"They keep mating, they keep having babies, and the population is increasing... exponentially," she said as volunteers stuffed cats into baskets by the dozens.

- Herding cats -
The morning's effort yielded 89 cats, spirited away to private and government-sponsored facilities to get the snip before being released where they were found.
Let's Adopt Indonesia, which spayed and neutered 2,274 cats in Jakarta last year, receives money from private donors and overseas foundations to cover the sterilization costs.
Estimates of the true number of strays in Jakarta vary wildly, from about 305,000, according to one city official, to five times that, according to another.
The municipality is conducting a census that will for the first time come up with a scientific estimate.
Last year, the city sterilized 21,000 cats under a new program for which it budgeted 3.5 billion rupiah ($198,000) for 2026.
"Funding is required far exceeding what is currently allocated" to reach the population control threshold of at least 70 percent of strays sterilized, Jakarta's top agriculture official, Hasudungan Sidabalok, told AFP.
He said the service did not have nearly enough official shelters, vets or paramedics to deal with cats in need.

- 'Loved by the Prophet' -
It may seem like a drop in the ocean, but Jakarta politician Francine Widjojo has said every cat sterilized can prevent dozens of new cats from being born on the street.
"One female cat can give birth three to four times a year, and each time can produce four to eight kittens," she told AFP at her office, surrounded by feline paraphernalia and photos of Yakult, one of her 27 cats and the mascot for her 2024 election campaign.
"Besides the free sterilization program run by the government, many animal welfare actors and members of the public are now willing to pay for sterilizations themselves," she said of a growing awareness of the issue.
In the city center, strays gather in large numbers at Dukuh Atas station, flitting fearlessly between commuters and traffic.
A ragged older tabby catches the eye of a woman and meows. She stops obligingly, zips open her handbag and takes out a small plastic bag of kibble, placing a fistful on the pavement -- a common sight.
Taking care of cats is partly a religious imperative in the country with the world's largest Muslim population.
Cats "are among the animals loved by the Prophet Mohammed" and unlike dogs -- very rare in the city -- are not considered "impure", Islamic scholar Nur Achmad from Bogor, south of Jakarta, told AFP.
