The Scotland international made 38 appearances in all competitions and scored four goals last season, helping West Ham finish 10th in the standings.
West Ham said they had the option of extending the 31-year-old's deal by a further 12 months.
"I'm delighted to commit my future to this great club," Snodgrass said in a statement https://www.whufc.com/news/articles/2019/july/02-july/robert-snodgrass-pens-west-ham-united-contract-extension on West Ham's website.
"Sometimes you get a chance to play for that one club that's special, going through that special time and I believe at this moment that's West Ham. We're trying our best to keep progressing and keep moving forward."
Snodgrass joined West Ham from Hull City in Jan. 2017 and spent the rest of the campaign on loan at Aston Villa in the Championship, before being recalled last season by manager Manuel Pellegrini.
"Robert brings many qualities to the team – great ability on the ball and at set-pieces, fantastic energy and work-rate, and excellent character and mentality in the dressing-room," Chilean Pellegrini said.
"He's proved himself to be an important player, a good influence on those around him, and I look forward to seeing him make a big contribution again this coming season."
(Reporting by Shrivathsa Sridhar in Bengaluru; Editing by Ken Ferris)