"human that eats human flesh," 1550s, from Spanish canibal, caribal "a savage, cannibal," from Caniba, Christopher Columbus' rendition of the Caribs' name for themselves (often given in modern transliterations as kalino or karina; see Carib, and compare Caliban).
The natives were believed by the Europeans to be anthropophagites. Columbus, seeking evidence that he was in Asia, thought the name meant the natives were subjects of the Great Khan. The form was reinforced by later writers who connected it to Latin canis "dog," in reference to their supposed voracity, a coincidence which "naturally tickled the etymological fancy of the 16th c." [OED]. The Spanish word had reached French by 1515. Used of animals from 1796. An Old English word for "cannibal" was selfæta.