John M. Winfrey was born into slavery around 1833 in Albemarle County, Virginia. He married Susan Bass in Richmond, probably in the early 1850s, and they had at least nine children together: George, whose birth date is unknown; William V., born around 1855; Mary E., born around 1856; Aseneth D., born around 1858; Fanny, born around 1859; Paulina, born around 1861; Sarah A., born around 1862; Effie J., born around 1866; and Joan G., born around 1869. In the early 1850s, Winfrey's owner brought the family to Ohio, set them free, and helped them acquire a homestead. By 1860, Winfrey was working as a laborer in Fayette County, Ohio, along with his wife, parents, and siblings.
Winfrey enlisted in the Union army on August 30, 1864, in Bloomingburg, Ohio, and mustered in as a private in Company H of the 4th USCT Infantry Regiment later that day. He took part in the Siege of Petersburg and participated in the Battle of Chaffin's Farm and the Battle of New Market Heights. In January 1865, his regiment helped capture Fort Fisher in North Carolina. The 4th USCT served throughout North Carolina and witnessed the surrender of Confederate General Joseph E. Johnston's army at Bennett Place in April 1865. Winfrey mustered out on September 5, 1865, in New Burn, North Carolina.
Winfrey returned to Fayette County, Ohio, after the war, and the family moved to Paulding County in 1868. Susan died of consumption in 1873, and Winfrey moved to Labette County, Kansas, the following year. He married Celia Jackson, and their daughter Lulla was born around 1882. Celia died in 1885, and Winfrey married Annie Drake in the summer of 1886. Annie died during the spring of 1887. Winfrey then married Mary Dodson in Columbus, Kansas, and their son Lewis was born on October 8, 1889. The Winfrey family briefly lived in Welch, Oklahoma, in 1890 before returning to Kansas. Winfrey secured an $8 monthly pension, complaining of rheumatism and heart and eye disease. The government eventually increased his pension to $10 per month in 1899. He died on April 5, 1902, in Chetopa, Kansas. Mary secured a widow's pension after his death, but she lost it when she married a man named Jake Renfro. After Renfro's death in 1923, she successfully reapplied for her pension. She died in 1940.