A source told ESPN's Adam Schefter that Matthews signed a one-year deal.
Matthews, 25, was limited to 10 games for the Bills last season after being acquired in an August trade from the Philadelphia Eagles.
He suffered a chip fracture in his sternum in his first practice of training camp for Buffalo and later fractured his thumb in Week 4, missing one game. He also missed one game in November because of a knee injury that later resulted in him being put on injured reserve.
In an Instagram post Dec. 14, Matthews announced he had surgery on his left knee and right ankle.
Matthews finished the 2017 season with a career-low 25 catches for 282 yards and a touchdown.
In three seasons with Philadelphia, Matthews caught 225 passes for 2,673 yards and 19 touchdowns.
ESPN's Mike Rodak contributed to this report.