Brown was born in Leighton Buzzard, Bedfordshire, England, to Ellen (née O'Donell) and Thomas Brown. From 1883 to 1887, he lived in South Africa, where he was a captain in the Cape Mounted Riflemen. After arriving in Western Australia, Brown initially worked as a law clerk for the firm of Septimus Burt and Edward Albert Stone. He then worked as a secretary for the Perth Building Society, which he eventually came to manage. Brown was elected to the Perth City Council in 1898, and elected mayor in 1902, replacing William Loton. He left office in November 1905 after just under three years, having chosen not to recontest the position, and it was reported by The Daily News that "his popularity not waned, but rather increased as the result of his years of office".
At the 1904 state election, while still serving as mayor, Brown won the Legislative Assembly seat of Perth. He was re-elected at the 1905 and 1908 elections, but was defeated by the Labor Party's Walter Dwyer at the 1911 election, who became the first member of his party to win the seat. Throughout his time in parliament, Brown belonged to the Ministerialist faction, supporting the governments of Hector Rason, Newton Moore, and Frank Wilson. He died in Perth in January 1925, aged 61. He had married Myra Minnie Pether in 1890, with whom he had two children.