The former Lech Poznan forward failed to hold down a regular place in Paul Lambert's side during his first season at Villa Park and will look to regain some form with the Bhoys
The 24-year-old moved to Villa Park from Lech Poznan ahead of the 2013-14 season, but failed to hold down a regular spot in Paul Lambert's starting line-up.
The Bulgaria international made 20 appearances in all competitions for Villa, 12 of which were as a substitute.
Celtic confirmed the capture on their official website, with new boss Ronny Deila excited at the potential shown by the forward.
"Aleksandar's a very quick player and he has two good feet which he can shoot with," he said.
"He has scored a lot of goals during his time at Lech Poznan and I think he can help bring the club forward with his qualities. We can also make him better."
Tonev himself, meanwhile, was delighted to complete the switch and revealed he had spoken to compatriot Stiliyan Petrov - who played for both Celtic and Villa - about the move.
"Joining Celtic is unbelievable, and I feel really good about it," he said. "I'm delighted to have joined the club and I can't wait to meet up with my new team-mates and start playing for Celtic.
"I already knew all about Celtic. Everybody in Bulgaria knows Celtic. I spoke to Stiliyan Petrov yesterday and he was very happy for me. He wished me good luck and I hope I can do as well for Celtic as Stiliyan did.
"I'm an attacking player, and usually play on the left side of the park, and I like to create and score goals."