Cox was born in Bedford County, Tennessee on January 6, 1837, the son of Caleb and Nancy Cox. He went to Seguin, Texas as a child, attended the common schools, served on the Mexican frontier, and graduated with a law degree from Cumberland University in 1858. He was admitted to the bar the same year and commenced practice at Linden, Tennessee. He was married on January 6, 1859, to Mary Slayden, daughter of Thomas Boyd and Jane (Lewis) Slayden, and had five children, with three boys and three girls, four surviving his death.
