Macron said he proposed to the Lebanese authorities a roadmap of urgent reforms to unlock billions of dollars in funds from the international community, and that he would return to Lebanon in September to follow up.
"If reforms are not carried out, Lebanon will continue to sink," Macron said. "What is also needed here is political change. This explosion should be the start of a new era."
He said France would organise an international aid conference for Lebanon, and he promised "transparent governance" so the aid goes to the people, NGOs and relief groups and not to the ruling elite which has been accused of corruption and mismanagement.
He said an audit was needed on the Lebanese central bank, among other urgent changes, and that the World Bank and United Nations would play a role in any reforms. Talks with the IMF on an economic rescue package have previously stalled.
During his visit Macron met all Lebanese political factions, including the powerful Iranian-backed Hezbollah group which dominates Lebanese politics. He urged Hezbollah to use its influence to press the government to carry out reforms and think of Lebanon's interest rather that Iran's.
Earlier, wearing a black tie in mourning, Macron toured the blast site and Beirut's shattered streets where angry crowds demanded an end to a "regime" of Lebanese politicians they blame for dragging the country into disaster.
"I guarantee you, this [reconstruction] aid will not go to corrupt hands," Macron told the throngs who greeted him.
"I see the emotion on your face, the sadness, the pain. This is why I'm here," he told one group, pledging to deliver "home truths" to Lebanon's leaders.
At the French ambassador's residence, where a French general declared the creation of the state of Lebanon exactly 100 years ago, Macron said it was no longer up to France to tell Lebanese leaders what to do, but that he could apply "pressure".
France has long sought to support its former colony and has sent emergency aid since the explosion, but it has joined other Western nations in pressing for reforms.
Shortly after landing in Beirut, Macron said France's solidarity with the Lebanese people was unconditional.
"Beyond the blast, we know the crisis here is serious, it involves the historic responsibility of leaders in place," Macron said after being met at the airport by Lebanese President Michel Aoun.
Macron cited the need for reforms to the energy sector and to public tenders. He promised to send more medical and other aid.
"I will talk to all political forces to ask them for a new pact. I am here today to propose a new political pact to them," he said, shaking hands with residents on roads strewn with rubble and flanked by shops with windows blown out.
Loading
Residents, shop owners and volunteers have led clean-up efforts in the popular street of cafes and restaurants, where the blast ripped out balconies and smashed store facades.
Macron was applauded by crowds in the mainly Christian part of the capital, with chants of "Vive la France! Help us! You are our only hope!"
Some also chanted slogans against Aoun, who is a Maronite Christian, and leads by way of Lebanon's political arrangement of dividing powerful positions between religious communities.
One picture showed Macron hugging a woman who had earlier shouted that he was meeting with "warlords" to which he replied: "I'm not here to help them, I'm here to help you."
Macron also met with Prime Minister Hassan Diab, who is a Sunni Muslim, and Nabih Berri, the Shiite Muslim speaker of Parliament.
In France, some of Macron's political opponents criticised the tone of his comments.
"I am warning against any interference in Lebanon's political life. It won't be accepted," Jean-Luc Melenchon, of the far-left France Unbowed party, said. "Lebanon is not a French protectorate."
But others, including Macron's usual opponents, defended his stance.
"It's just as well he's asking for reforms from a government whose negligence and corruption is legendary," Socialist lawmaker Raphael Glucksmann said. "That's what Lebanese citizens are asking for. What they're shouting in the rubble. Any other tone would have been obscene."
Officials blamed the blast on a huge stockpile of a highly explosive material stored for years in unsafe conditions at the port. The government ordered 16 port workers arrested including general manager Hassan Koraytem. The central bank said it had decided to freeze his accounts and those of the head of Lebanese customs along with five others.
As families sought news of the missing, amid mounting anger at the authorities for allowing the huge stockpile of ammonium nitrate, there was a small but violent protest near an entrance to Parliament in central Beirut, where riot police deployed after some demonstrators burnt objects and hurled rocks at security forces blocking the entrance, footage from local broadcasters showed.
Many Lebanese, who have lost jobs and watched savings evaporate in a financial crisis, say the explosion was symptomatic of neglect and corruption in the political system.
Reuters