The crash happened when the bus, which had at least 40 people on board, hit a motorbike while heading down a hill at speed in the Subang region of West Java province, causing it to roll over multiple times.
Most of the passengers, who were on their way to a hot spring, were from South Tangerang in Java's Banten province.
Police are investigating the cause of the collision but said they suspect the vehicle's brakes failed to work.
All victims have been evacuated from the bus and most have been taken to a local hospital, officers said.
"Our morgue is now at full capacity, we cannot accept more bodies," Subang hospital spokesman Mamat Dudirakhmat told local broadcaster Metro TV.
Transport accidents are common in Indonesia, where buses and trains are often old and badly maintained.
In July last year 10 people including an Austrian tourist and a 12-year-old child died when a bus travelling from resort island Bali to the town of Malang in East Java hit the back of a fertilizer truck, killing the sleeping passengers.
More about: Indonesia