The 28-year-old was released by the Bantams in the summer after scoring five goals in his one-season stay.
He has also played for Blackpool, Bristol City, Derby and Tranmere.
"I've played with a few other players who have played at Rochdale under boss Keith Hill and they have all spoken highly about the club and the manager," he told the club website.
Find all the latest football transfers on our dedicated page.
Rochdale have signed former Bradford City striker Steven Davies on a free transfer on a one-year deal.