The 20-year-old has played 51 times for the U's since coming through their ranks and had a loan spell at National League side Braintree last term.
But he has not appeared since December 2015, missing the final few months of last season after ankle surgery.
"Being offered a new contract when I have missed half a season shows that the club has faith in me," he said.
"It was so frustrating last season, not being able to get out on the pitch and having to watch us battle against relegation from the stands.
"Missing so many games has made me really hungry for football and I can't wait until we get started again at the end of the month."
Colchester United forward Sammie Szmodics has signed a new three-year contract with the League Two club.