Practices of Hindu animal sacrifice are mostly associated with Shaktism, and in currents of folk Hinduism strongly rooted in local tribal traditions. Animal sacrifices were carried out in ancient times in India. Hindu scriptures such as the Gita, and some Puranas forbid animal sacrifice.
A Sanskrit term used for animal sacrifice is bali, in origin meaning "tribute, offering or oblation" generically ("vegetable oblations [... and] animal oblations,"). Bali among other things "refers to the blood of an animal" and is sometimes known as Jhatka Bali among Hindus.
The Kalika Purana distinguishes bali (sacrifice), mahabali (great sacrifice), for the ritual killing of goats, elephant, respectively, though the reference to humans in Shakti theology is symbolic and done in effigy in modern times. For instance, Sir John Woodroffe published a commentary on the Karpuradistotram, where he writes that the sacrificial animals listed in verse 19 are symbols for the six enemies, with "man" representing pride.
It is a ritual that is practiced today and is mentioned in Medieval Hinduism too. It is important to note that the practice of animal sacrifice is not a required ritual in some sects of Hinduism. The majority of practicing Hindus today choose not to participate in or acknowledge the practice. Adherents of the Sakta sect of Hinduism hold this to be a central tenet of their belief.
The Ashvamedha ritual - in which a horse is sacrificed - is described in the Rigveda, the Shukla Yajurveda, the Taittiriya Shakha of Yajurveda, the Shatapatha Brahmana and in the Srauta-sutras of the Aitareya Brahmana and in the Kaushtikati Brahmana of the Rigveda. In the Brihadaranyaka Upanishad the symbolism of the sacrifice is described, with the horse symbolising the cosmos. In the Ramayana, Rama performed the Ashvamedha sacrifice for becoming the Chakravartin emperor. In the Mahabharata, Yudhishtra performs the Ashwamedha after winning the Kurukshetra war to become the Chakravartin emperor. The Mahabharata also contains a description of an Ashvamedha performed by the Chedi king Uparichara Vasu, however, no animals were sacrificed. The rulers of the Gupta empire, the Chalukya dynasty, and the Chola dynasty all performed the Ashvamedha.