The Giants have not confirmed the deal, although general manager Bobby Evans told reporters Saturday that the team was in talks with Upton and was "close to a minor league deal."
MLB.com was first to report the deal Saturday.
Upton, 32, was released April 2 by the Toronto Blue Jays after not making their Opening Day roster. The 12-year veteran batted .238 last season with the Blue Jays and San Diego Padres but also finished with 20 home runs and 27 stolen bases.
The Giants enter Sunday with a 1-5 record and have been getting little offensive production from their outfielders over the first week of the season.
Denard Span, the Giants' starting center fielder and leadoff hitter, has been battling a back injury and has missed three games. Span's primary replacement, Gorkys Hernandez, is 2-for-19, and the Giants' starting left fielders this season have combined to go 0-for-22 with 11 strikeouts.
Upton primarily has played center field in the majors, but he appeared in 121 games in left field last season.