Milner was set to leave Anfield on a free transfer after his contract expired at the end of June but he has decided to extend his stay at the club.
"I'm very pleased to be staying for another season," Milner told the club's official website. "I have never taken playing for this club for granted and I never will.
"An overriding feeling for me -- and a vitally important one in the process -- was the belief I can still contribute to the team. The gaffer was clear what he thought and that was a big factor in me extending my contract.
"Last season was extraordinary, even though it didn't have the ending we hoped it would. But I think that will only make us all even hungrier for more success, to be honest. I felt that after the parade and that played a part in my decision-making also. It's a unique club.
"Now this is signed, I'm already looking forward to getting back with everyone, refocusing and going again. It's a brilliant dressing room to be part of."
The 36-year-old joined Liverpool in 2015 and has made 289 appearances for the club and won six major trophies including the Premier League and Champions League.
"I am delighted by this news. It's important for us -- all of us," Liverpool manager Jurgen Klopp told Liverpoolfc.com.
"A lot is often made of James' leadership skills and his influence in the dressing room, and of course that's correct and justified, but nobody should overlook his quality on the pitch, where he continues to perform to a level that meant we simply couldn't afford to lose him.
"His professionalism is the benchmark for any athlete and it's why he sets the tone for this team with his ability and attitude. So I'm grateful he answered the call and agreed to give us the extra year of his extraordinary career. More to come."