The flag handover was a main part of the visit to the White House by Mark Rutte, prime minister of the Netherlands, who held Oval Office talks with President Donald Trump.
The flag has been owned by retired Dutch businessman and art collector Bert Kreuk, who paid $514,000 for it at auction three years ago with the intention of donating it to the United States.
“I cannot keep it myself. It needs to go to the right institution. I need to give it back,” Kreuk said in a telephone interview ahead of the ceremony, at which he spoke.
The flag is to be put on display at the Smithsonian Institution.
The 48-star flag was on the U.S. Navy’s Landing Craft Control 60, which was one of three advance ships directing troops onto Utah Beach on the Normandy coast on June 6, 1944.
The LCC 60 was the only one of the three to complete its mission in the chaos of D-Day.
The ship and its 14-member crew were commanded by U.S. Navy Lieutenant Howard Vander Beek, a one-time Iowa teacher who brought the flag home from the war and kept it in his basement until he died in 2014.
“It is my honor to welcome this great American flag back home where it belongs,” said Trump, who called it a “reminder of the supreme sacrifice of our warriors and the beautiful friendship between the Dutch and the American people.”
To Kreuk, 54, the flag represented the liberation effort that saved his family from Nazi rule during World War Two. He said he lost family members during a German bombing raid on Rotterdam in 1940.
Kreuk said his donation of the flag is aimed at remembering World War Two. “For many of you, this will be the first time that you will see the flag,” but for many on D-Day, “it was the last time.”
Trump attended ceremonies in Normandy on June 6 marking the 75th anniversary of the D-Day invasion.
Reporting by Steve Holland; Editing by Dan Grebler