Coutinho arrived at Villa Park in January for a loan spell after being told he could leave by the Spanish club.
The deal also includes a 50% sell-on clause should Villa go on to sell the Brazilian forward.
Coutinho started his stint at Villa in incredible fashion, scoring four goals and three assists in his first six matches but he is yet to add to that record in his most recent eight appearances.
It is worth mentioning that Villa have been through a sticky patch in recent months with key players not firing.
"This is a brilliant signing for Aston Villa," Steven Gerrard said on the club's website. "Phil is a model professional and his impact on the group has been very clear since he joined in January.
"With the way he conducts himself on and off the pitch, he's also a valuable role model for our younger players who can only benefit from his experience.
"As we look to build towards next season, it is incredible to work at a club that executes its business so decisively and smoothly."
Below, we look at Coutinho's stats at his previous clubs.
Vasco da Gama (2009-2010)
Trophies won: Campeonato Brasileiro Serie B (2009)
Inter Milan (2010-2013)
Trophies won: Supercoppa Italiana (2010), Coppa Italia (2010/11)
Espanyol (2011/12 loan)
Trophies won: La Liga (2017/18, 2018/19), Copa de Rey (2017/18, 2020/21), Supercopa de Espana (2018)
Bayern Munich (2019/20 on loan)
Trophies won: Bundesliga (2018/19), DFB Pokal (2019/20), Champions League (2019/20)