Martial law, imposed on November 25 in some Ukrainian areas after Russia captured three Ukrainian ships, expired on Wednesday, President Petro Poroshenko told the country's security council.
"Today, right now, at 2:00 pm (1200 GMT) the martial law ends. This is my principal decision," Poroshenko said during a live streamed military cabinet meeting in Kiev.
The president said he had reached the decision "based on an analysis of all the components of the security situation in the country."
Poroshenko also said earlier this month he did not plan to extend the martial law beyond the one month initially foreseen unless there was a large-scale attack from Russia.
The Ukrainian navy ships were captured in the Kerch Strait, between Crimea and southern Russia, which controls access to the Sea of Azov, where there are both Russian and Ukrainian ports.
Moscow said the ships entered Russian waters while trying to cross the strait without prior notice, ignoring orders to stop. Kiev said its ships needed no Russian permission to cross the strait.
Western governments have accused Russia of acting illegally and U.S. President Donald Trump cancelled a meeting with his Russian counterpart Vladimir Putin at the G20 summit in Buenos Aires over the incident.
"The support and concrete actions of our international partners – their pressure on the Kremlin combined with a martial law – have stopped the worst scenario that the Russian Federation planned," Poroshenko said.
"They didn't let Putin cross the new red line," he added.
Under the martial law, Ukraine banned Russian men of combat age from entering the country and boosted security at critical sites such as nuclear power stations and Black Sea ports.
Ukraine's military chief said this month Russia had been ramping up its forces near the border since August and now poses the greatest military threat since 2014.
(With inputs from agencies)