He was born at Glasgow, Scotland, the son of John Weir and his wife Jeannie (née Kerr)[1] and migrated with his family to Australia the following year.[2] They arrived in Townsville and he was educated at the Townsville Central State School and Townsville Grammar School.[2] He began his working career as a clerk with the Adelaide Steamship Company in 1895 before joining the Queensland Railways and working there as a clerk. In this position he was transferred across the state, including Townsville, Maryborough, and Ipswich.[1]
On 5 July 1907 he married Edith Guymer[1] (died 1960)[3] and together had two sons and a daughter. Weir died in September 1929 and his funeral proceeded from his former residence in Alice Street to the Maryborough Cemetery.[4]