The euro was trading at $1.3451 around 2200 GMT, up sharply from $1.3369 at the same time on Thursday. Earlier the euro had hit $1.3476, its highest level since December 5.
The currency shared by the 17 eurozone countries also surged against the Japanese currency, fetching 109.22 yen compared with 106.94 yen a day earlier, a peak last hit on November 1.
News that makes sense
Your trusted source for staying up-to-date with the world around you. Get free daily news updates and analysis, straight to your inbox.
The dollar advanced to 81.20 yen from 79.98 on Thursday, striking levels last seen in July.
"There has been some gradual improvement in eurozone risk premia over the last several weeks, and this is playing a role," Nomura analysts said.
"It is sort of a giant risk celebration," said David Gilmore at Foreign Exchange Analysis, mostly due to Greece's debt rescue deal struck earlier in the week and renewed optimism linked to the Group of 20 finance chiefs meeting this weekend in Mexico.
On the eve of the Mexico City meeting, the market is expressing hope that the G20 "will find a way" to strengthen a firewall to contain the eurozone sovereign debt crisis, Gilmore said.
Traders also awaited the European Central Bank's latest flush of cash into the European financial system. The ECB this week will offer three-year loans to banks at bargain rates.
The euro also benefited from some positive economic indicators in the United States that bolstered the impression that a frail recovery in the world's biggest economy is gaining traction, encouraging buyers to move away from the traditional safe-haven dollar.
Against the Swiss currency, the dollar fell to 0.8958 francs from 0.9017 francs late on Thursday.
The greenback fell against the British pound, which traded at $1.5874 compared with $1.5741 the prior day.

