In the letter, which is more than 1,800 words long, Zelensky said: “It is not as if we in Ukraine are concerned about the fate of Russian soldiers after everything your war has brought to our country.

“But I do care about Ukrainians. We are losing our people, and every loss is painful to us.”

Zelensky said Russians had become tired of Ukrainian drone and missile attacks, petrol shortages and rising prices, as well as war.

“Do not be afraid to take the path out of this war. That is the main thing that is required of you now,” he implored.

He said Ukraine was proposing to end the war “through direct engagement between us”.

He added that while the US was “fully focused on the issue of Iran”, it would be “wrong to simply wait” until the war in Europe returns to the centre of its attention.

Zelensky said face-to-face negotiations could take place in a country such as Switzerland or Turkey.

The Ukrainian president’s letter came on the same day Putin was in St Petersburg, where a major economic forum is taking place.

The previous day Kyiv had launched a drone attack on the city’s outskirts, a strike mentioned in Zelensky’s message as “paying a visit”.

Separately Russian-backed authorities in occupied Crimea blamed Ukraine for the death of four people in attacks on Simferopol. Ukraine said it had hit a fuel depot.

Putin mentioned the war during a press conference with journalists on Thursday at the forum.

In it he appeared to immediately cast doubt on whether a meeting or deal could ever take place.