司马迁出身于中下层官吏家庭。高祖司马昌,当秦始皇时,作主铁官。曾祖司马无泽,在汉初作长安的一个“市长”。祖司马喜,没有做官,而有第九等爵位,为五大夫。他的家庭在汉文帝时可能是所谓“中人之家”,以农业和畜牧致富,因而能够出粟买爵。
父司马谈,在汉武帝建元年间,即公元前140到前135年作了太史令,通称太史公,这是史官,汉武帝新恢复的一种古官。官位不高,职权不大,主官天时星历,祭祀礼仪,搜罗并保管典籍文献,这是史官的传统。