Cotton was born on November 16, 1890 in Charlestown. His father, Henry Ward Beecher Cotton, was an attorney and a member of the Boston Common Council from 1880 to 1881. Cotton's family moved to Lexington, Massachusetts when he was three years old. He attended Lexington public schools, Roxbury Latin School, and graduated from the Boston University School of Law in 1912. He practiced law for many years with his father. During World War I, Cotton served in the United States Army at Camps Devens and Grant, but was never sent oversees. He was mustered out of the Army following the Armistice of November 11, 1918 and later served as the first commander of Lexington's American Legion post.