JOHANNESBURG, July 7 — The faces of the displaced tell the story. For weeks, families have been packing what little they can carry, fleeing homes they built over years, even decades. The human toll of South Africa’s latest wave of anti-immigrant violence is measured not just in arrests and troop deployments, but in the quiet desperation of those forced to start over.
The unrest, which began in late June, has seen over 900 people arrested and more than 25,000 migrants repatriated. South African authorities deployed 3,405 troops to restore order after 120 marches erupted across the country.
For the families caught in the middle, the numbers are cold comfort. What matters is the shop that is now a burned shell, the school their children can no longer attend, the sense of belonging that has been shattered. Behind the violence lies a brutal economic reality.
South Africa’s unemployment rate now exceeds 43 percent, a figure that fuels resentment against foreign nationals seen as competing for scarce jobs. This is not a new story here.
Xenophobic attacks have flared repeatedly over the years, each wave rooted in the same desperate equation: too few opportunities, too many people chasing them. Nigeria has confirmed that two of its citizens were killed during the protests. For the families of those victims, the political and economic explanations offer no comfort.
They are left with the raw, human side of a crisis that shows no sign of easing. The South African government has moved to restore order, but the underlying tensions remain. For the thousands who have been repatriated, the question is whether they can return.
For those who stay, the fear is whether the next protest will target their street. What this means for families across the region is a future built on uncertainty.
The violence has subsided for now, but the economic pressures that sparked it have not. Until South Africa addresses its staggering unemployment rate, the human cost of xenophobia will continue to be paid by ordinary people caught in a cycle they did not create.





