On average, it takes 1-3 hours to cremate a body. However, the actual time may vary based on several factors, including the size of the person and the temperature of the cremation chamber.