Elliott, who has made eight first-team appearances and became the youngest debutant in Liverpool's history when he lined up against MK Dons in the EFL Cup last September, was eligible to agree professional terms after turning 17 in April.
"I think since the first day I've walked in, it's been an indescribable journey so far," he said. "I think now to top it off with my first professional contract is a dream come true for me and my family. I'm excited to see what the future holds and I'm just excited to give everything to the club and the fans."
Elliott joined Liverpool from Fulham in July 2019
"I think when I stepped out on the Anfield pitch when I played Arsenal, I think it was an emotional thing for me," he added. "To obviously be watching the players and to be playing them with them, honestly it's a dream come true.
"To be in and around the fans as well, to hear them singing You'll Never Walk Alone when you're stepping out on the pitch, it did bring a tear to my eye. I just can't wait to give everything back to them and just to show them what I can do."
Elliott became the youngest player in Premier League history at 16 years and 30 days old when he came on for Fulham in their 1-0 defeat at Wolves in May 2019.