The 23-year-old joins the Hammers from Ajax for an undisclosed fee to become the club’s third signing of the summer transfer window.
He scored 19 goals and provided seven assists in all competitions for Ajax last season, including goals against Liverpool and Napoli in the Champions League.
“I’ve been dreaming to play in a league like this since I was a kid,” Kudus told the club website.
“I’ve been dreaming of this moment and I’m so happy to be here. But it doesn’t stop here, I want to keep going.
“I try my best to entertain the fans as I think that’s what football is all about. I’m just here to do my best and help the team. I’m really happy to be here. I will fight for the badge. I can’t wait to get started.”
Kudus has also earned 24 caps for Ghana on the international stage and featured for them in last year’s World Cup.
Manager David Moyes said: “I’m delighted we’ve been able to bring Mohammed to West Ham.
“He’s a terrific young talent, who has already shone at the very highest level for Ajax in the Champions League and made well over 150 senior appearances at the age of 23 – so it was no surprise to see so many top clubs chasing his signature this summer.”