At least 20 children are dead after their bus collided with a truck and caught fire near the South African capital Pretoria.

The minibus was travelling between the villages of Verena and Bronkhorstpruit on the R25 highway. The cause of the crash is unknown. The children were reportedly of primary and secondary school age.

"Paramedics arrived on the scene to find the fire services already in attendance," Russel Meiring, a spokesman for the ER24 emergency medical service, told AFP.

"The fire services had already extinguished the burning vehicle, which was found lying on its side."

ER24 said in a statement: "The children were treated for their injuries and provided with advanced life support interventions before they were transported to various hospitals in the area for further treatment."

The images posted by ER24 on Twitter show the severely damaged minibus on its side next to the truck. After the crash, a fire started and emergency responders found about 13 children trapped inside the vehicle.

Another seven children were found around the minibus, but they were declared dead by the medical team.