The former Liverpool winger ended his time with Galatasaray earlier this season but will be brought on board by the Serie A side in the summer, the Italians confirm
The 31-year-old winger has been without a club since agreeing a mutual termination of his Galatasaray contract in January and will officially become a Udinese player on July 1.
He began his career in his homeland with Mallorca and has gone on to play for Bordeaux, Espanyol, Manchester City, Liverpool and Olympiakos.
Riera moved to Galatasaray in 2011 but made just four league starts for the Turkish champions this season before agreeing with coach Roberto Mancini to depart Turkey for first-team opportunities elsewhere.
Udinese currently sit 14th in Serie A, 10 points clear of the relegation zone.