The 20-year-old, who made his debut away at Swindon on Boxing Day 2015, made 19 appearances last season and his performances have earned him an extended stay with the Gills.
After signing his contract Elliott said: “I love it here, I love the club and I love the fans, I think they’re great. It’s a great team and I think we’ll push on next year.
“The Manager has faith in me which is nice and it’s now important to get fit in pre-season.”
Head Coach Ady Pennock added: “I’m delighted Elliott has agreed to stay with us. He has worked his socks off to get an opportunity and he will only get better as he plays more matches.”