The index rose to 49.5 with data showing "signs of a sales downturn ending," Markit Economics said.
The index indicates contraction with numbers less than 50 and expansion above 50.
Retail in Germany showed growth for the third consecutive month with the rate of expansion at the highest level since January 2011.
In France, the retail PMI rose for the fourth consecutive month and climbed above 50 for the first time since March 2012.
In Italy, the retail PMI "continued to weigh on the overall eurozone performance," Markit said, as sales fell for the 29th consecutive month with the index at the lowest rate since April.
On an annual basis, sales were lower in the eurozone in July, "as has been the case since June 2011," Markit said.
Retail employment fell for the 16th consecutive month in the currency region, although German retailers added workers for the 38th consecutive month.
Germany's PMI for the retail sector came to 56 in July, a 30-month high. In France, the index reached 51, a 21-month high. In Italy, the index dropped to 38.2, a three-month low.