The 23-year-old, who has been capped nine times by Scotland, has penned a four-year contract with the Championship club.
According to the Daily Record, Celtic were interested in signing McGinn and matched Villa's offer but were unable to offer the same assurances over playing time.
"I'm really pleased to have joined the club. I've already visited Villa Park and the training ground and the setup is incredible," McGinn told the official Villa website.
"The last 24 hours have been a bit of a whirlwind with so much going on but I can't wait to take part in my first training session and make my debut."
McGinn moved to Easter Road in 2015 after emerging through the youth ranks at St Mirren.