Oleksandr Pertsovskyi, chief executive of the Ukrainian railway company, shared a clip on X in which he hands the 65-year-old actor the metal figure shaped like a silhouette of the Oscar film award.
The material for it came from part of a train that had been damaged by Russia, Pertsovskyi says in the clip.
"We couldn't leave our great friend and loyal Ukrainian Railways passenger without an award," he wrote on X.
Penn thanked him for the "iron Oscar," as the railway chief called the award. The words "We did not melt it into a weapon" are written on the figure, according to a photo shared by Pertsovskyi.
Penn missed the presentation of his third Oscar in Los Angeles on Sunday night. He was chosen as best supporting actor for his role in the political thriller One Battle After Another.
Ukrainian President Volodymyr Zelenskiy received the actor at his official residence in Kiev.
"Sean, thanks to you, we know what a true friend of Ukraine is," Zelenskiy wrote in social networks on Monday.
He recalled that Penn had visited Kiev during the first days of the war in February 2022. "And we know that you will continue to stand with our country and our people," he added.
Ukraine has been defending itself with Western help against a full-scale Russian invasion for more than four years.