Some pedestrians were beaten up on the basis of their sectarian identity, witnesses said.
The four dead included two Shia pro-Hezbollah students and one supporter of the Sunni-led government.
The US ambassador to Beirut, whose country backs Fouad Siniora, the Lebanese prime minister, against Hezbollah and its Shia and Christian allies, said the situation had become "quite dangerous" and Syria was involved once again.
Sayyed Hassan Nasrallah, the leader of Hezbollah, issued a religious edict calling his supporters off the streets.
Saad al-Hariri, the Sunni leader, urged government supporters to show restraint.
Speaking from Paris, Siniora said: "I call on everyone to return to the voice of reason."
Siniora was at an aid conference seeking help to shore up Lebanon's debt-laden finances and repair infrastructure damage from last year's war between Israel and Hezbollah forces.
Jeffrey Feltman, the US ambassador, pointed the finger at Syria, which is Hezbollah's main international ally, along with Iran.
"History has shown that outside powers like Syria have done it before. And I can't give you solid evidence, but one can certainly make a pretty strong case that it's Syria's hands at work again," he said on US-funded Al-Hurra television.
"Nobody should be surprised when things start to spin out of control, when there has been an intentional two- to three-month effort to provoke sectarian tension."
The opposition launched nationwide protests on Tuesday, which shut down much of Lebanon and sparked violence in which three people were killed and 176 wounded.
|Soldiers locked down Lebanon's capital|
yesterday after hours of violence [AFP]
The general strike intensified a street campaign that began on December 1, when opposition supporters began camping out near Siniora's offices in central Beirut to back demands for veto power in government and early parliamentary elections.
Siniora and his main backer, parliamentary majority leader al-Hariri, have refused to give in to the demands.