Born in Colombo (in what is now Sri Lanka) to English parents, Butler moved back to Britain as a child. He played for Dartford and Fulham Thursday as a youth, before signing for Fulham in 1913 and moving to Arsenal in 1914. He played in the Gunners' reserve side in his first season, before World War I intervened. Butler duly signed up for the Royal Artillery and served in France during the war, and returned to Arsenal after the end of hostilities. By then he had come of age, and with the resumption of first-class football, he made his first-team debut for the Gunners, against Bolton Wanderers on 15 November 1919.
A tall, elegant and clean player, Butler initially played as a traditional "centre half" — i.e. as a central, deep-lying midfielder; he was in competition with the Gunner's regular centre halves, Chris Buckley and Alex Graham, but by 1924-25, he was the undisputed first-choice centre half, playing in all but three games of the club's League campaign that season. He also won his first and only cap for England, against Belgium on 8 December 1924.
He made a total of 296 appearances for Arsenal, scoring 8 goals.