He was educated at Swindon, and it was there that he took an apprenticeship as a boilermaker on the Great Western Railway.
He held seats in three parliaments: the South Australian Legislative Assembly, the Australian House of Representatives and the Western Australian Legislative Assembly. In 1886, he emigrated to Victoria, Australia, where he found work in locomotive construction at the Phoenix Foundry in Ballarat. In 1891, Carpenter moved to Gawler, South Australia, where he spent the next five years as foreman of Jas Martin & Company
During this time he developed an interest in public affairs, becoming active in the Barossa Reform League, which agitated for land reform.
In 1896, he was elected to the South Australian Legislative Assembly seat of Encounter Bay. Two years later he was Chairman of the Royal Commission on Old Age Pensions.
He held the seat of Encounter Bay until the election of 1902, at which he unsuccessfully contested the seat of Alexandra. Carpenter moved to Fremantle, Western Australia in 1903.
In December 1903, he was elected to the Australian House of Representatives seat of Fremantle as a Labor candidate.
He would hold the seat until his defeat in the election of December 1906. After his defeat he moved into a secretarial and agency business, and was also a journalist, working as editor of the briefly-reestablished Fremantle Herald. After losing his federal seat, Carpenter turned to state politics, standing unsuccessfully for the Western Australian Legislative Council seat of West Province in May 1908.
He stood once again for the federal seat of Fremantle in the election of April 1910, but was again unsuccessful.
In 1917 he joined John Scaddan in leaving the anti-conscription Labor party for the pro-conscription National Labor movement. He contested the election of September 1917 under this banner, and was defeated by the new Labor candidate.
He then left politics, going to Melbourne and then Sydney. On 11 September 1930, his dead body was found floating in the Hacking River at Sutherland, New South Wales.
He was buried at Rookwood Cemetery.
He became a member of the Fremantle Trades Hall Association, and president of the Transcontinental Railway League.