Hannibal war nach heutigen Maßstäben nicht schwarz. Die Römer waren eine weiße Rasse und bezeichneten dunkelhäutige Afrikaner als Äthiopier. Hannibals Heimat Karthago lag in Nordafrika, und die Bewohner dort waren überwiegend hellhäutig. Einige heirateten jedoch mit den dunkelhäutigen Afrikanern im Süden.
Hannibal war Karthager, und die Karthager waren ein semitisches Volk, das aus dem alten Nahen Osten stammte. Moderne Araber und Juden haben eine ähnliche Hautfarbe, daher sah Hannibal eher arabisch aus als schwarz. Mitglieder der antiken Welt hielten sich mehr an Imperien als an Rassen, daher wird Hannibal durch seine Heimatstadt identifiziert.