The name Hannibal is a boy's name of Assyrian origin meaning "grace of Baal, god of fertility and fortune". Hannibal and is often added to lists like Colonial Names for Boys and discussed in our forums with posts like "Boys Makeover- Two Middles".
From the experts:
These days, it's thought of less as the name of the great general and more as the first name of Lecter the fictional cannibal. Either association is too heavy for a child to bear.