The 25-year-old had less than a year remaining on his existing deal, but the Glasgow giants have revealed that terms have been agreed on a contract which will run until 2019.
Armstrong told Celtic's official website: "I am delighted to sign this new contract with Celtic. I have had a tremendous time at the club so far and it has been a period in my footballing career which I have enjoyed immensely.
"It has been an honour to play for a club of such stature. I have enjoyed a great relationship with our supporters and we have achieved a high level of success, something it has been great to be part of.
"I'm pleased that this new contract has been agreed and I am now looking forward very much to working with the manager, our staff and my team-mates to bring the club and our fans even more success."
Since signing for Celtic in January 2015, Armstrong has netted 25 goals in 121 appearances in all competitions.