The Telegraph reported that Terry will sign a 12-month contract for the second-tier club, who fought off interest from a number of clubs in both England and around the world.
The former England and Chelsea skipper, 36, had been a target for West Bromwich Albion and Swansea in the Premier League, Galatasaray in Turkey, as well as clubs in the US and China, but has decided to join Villa after talks over the past few days.
Speculation had been growing after Villa boss Steve Bruce met with Terry in Portugal last month.
The Villa squad flew out to the Algarve for pre-season training at the weekend and Terry is expected to join them after signing.
Reports suggest Terry will earn £60,000 a week with bonuses taking the total package to more than £4 million a year.
Terry left Chelsea at the end of the season after more than 20 years at the club during which time he won five Premier League title, five FA Cups, the Europa League and the Champions League.