Hannibal no era negro para los estándares de hoy. Los romanos eran una raza blanca y se referían a los africanos de piel más oscura como etíopes. La tierra natal de Hannibal, Cartago, estaba ubicada en el norte de África, y los residentes allí eran principalmente de piel más clara. Sin embargo, algunos se casaron con los africanos de piel más oscura del sur.
Aníbal era cartaginés, y la raza de los cartagineses era un pueblo semítico que provenía del antiguo Cercano Oriente. Los árabes modernos y los judíos comparten un color de piel similar, por lo que Hannibal parecía más árabe que negro. Los miembros del mundo antiguo se adhirieron más a los imperios que a la raza, por lo que Hannibal es identificado por su ciudad natal.