M-104 is a state trunkline highway in the US state of Michigan in the Western Michigan region of the state. It runs from Ferrysburg to Nunica in Ottawa County, passing through Spring Lake. The highway serves as a connector between Interstate 96 (I-96) and US Highway 31 (US 31), helping connect Grand Haven with the Grand Rapids metro area. A related Connector 104 runs between the M-104 and US 31 in Ferrysburg. During the 1920s and 1930s, a different highway bore the M-104 designation. The current highway was previously a section of US 16 until 1940 when that designation was shifted to a road going from Nunica to Muskegon; the orphaned highway was redesignated M-104 at the same time. Since then, two routing changes have caused short segments to be transferred to local control and removed fro