Brown, 30, has signed a three-year deal at the JJB stadium to become Chris Hutchings' eighth signing since taking the manager's job this summer.
The fee is believed to be in the region of £3 million as new Cottagers boss Lawrie Sanchez seeks to recoup some of the £20 million spent on new players so far this summer.
The former Manchester City, Sheffield United and Tottenham midfielder became a fans' favourite at Fulham but his stay, while influential in keeping them up, was marred by disciplinary problems for his often robust tackling.
Robben slams Chelsea offer
But the return to fitness and decision to stay in West London of Papa Bouba Diop and the £4 million purchase of Steven Davis from Aston Villa have convinced Brown, who is from and has spent most of his career in the north of England.
Euroscout - Kevin Prince Boateng
Hammers agree Dyer fee