The euro bounced back Thursday as Cyprus reopened its banks amid relative calm after a nervous two-week closure and the specter of depositor losses and capital controls did not fuel panic elsewhere.
At 2100 GMT the euro had climbed 0.3 percent to $1.2814, compared to $1.2776 late Wednesday.
The single currency was also helped by a better-than-expected report on German retail sales in February, which gained 0.4 percent from January, according to the federal statistics office Destatis.
The yen remained firm after the new Bank of Japan chief, who has argued for a weaker currency, called Japan's massive debt "abnormal" and warned that Tokyo must avoid a possible plunge in confidence among bondholders.
The yen ended flat against the euro, at 120.64 yen, while the dollar slipped to 94.12 yen from 94.42.
The euro's rebound on the greenback was limited as analysts said the Cyprus crisis was still not over and Italian politicians failed to produce a governing coalition amid more strains on the economy.
"The euro pared the sharp decline from earlier this week as capital controls in Cyprus helped the periphery country to avert a bank run," said David Song of DailyFX.
"But the weakening outlook for the region may continue to drag on the exchange rate as European policymakers maintain a reactionary approach in addressing the risks surrounding the region."
Analysts at Nomura said they still foresee a gradual weakening of the euro.
"Beyond Cyprus, the medium-term picture for the euro remains negative," they said in a research note.
"The divergence between key macroeconomic and financial market trends in the eurozone and the US will likely be an increasing important driver of the euro."
Song said the next key guidepost will be next week's meeting of the European Central Bank policy board.
The ECB "may show a greater willingness to ease monetary policy further as European policymakers struggle to address the ongoing turmoil in the periphery countries," he said.
The British pound gained to $1.5192 from $1.5128. The dollar fell to 0.9494 Swiss francs from 0.9540 francs.