The 29-year-old only joined the club in 2011, but his contract has not been renewed due to financial problems.
"I've needed a change of scenery for a while now," he said. "I enjoyed my time at the club but I've known for the past few months I'd be moving on. I was not offered a new deal as such, but I think it was down to finances.
"I'm obviously pleased we stayed in the division and wish the club all the best for the future."
Walker scored nine goals this season as York ensured their status as a League Two outfit on the final day of the campaign.