He was born in Kilfinane, the son of Samuel Marks, and came with his family to Bytown in Upper Canada in the 1840s. In 1857, he opened a general store with his brother George at Bruce Mines. In 1868, they opened a branch at the Landing (later Prince Arthur's Landing and then Port Arthur) and, in 1871, at Sault Ste Marie. Marks became a resident of Prince Arthur's Landing and lobbied for the establishment of a railway station there on the proposed transcontinental railway; however, nearby Fort William was favoured by the government as the site of the station. He then led the push for the construction of the Prince Arthur's Landing and Kaministiquia Railway which connected to the railway which later became the Canadian Pacific Railway. He supplied contractors working on the railway and also established warehouses and docks on the waterfront. Marks married Agnes Jane Buchanan in 1875. He was reeve of Shuniah from 1875 to 1884 and became mayor of the newly incorporated town of Port Arthur in 1884. He also owned the Northern Hotel Company and the steamship Algonquin and was president of the Thunder Bay Colonization Railway (later the Port Arthur, Duluth and Western Railway). He died in Toronto of kidney failure at the age of 66.
His nephew George Thomas Marks also served as mayor of Port Arthur.