Believe it or not, if you use it to warm the bed, the heat can last practically all night, although normally when we use it on some part of the body, the heat gradually disappears and lasts approximately 25-30 minutes, more than enough to relieve any kind of pain. In cold, once we take it out of the freezer, it stays cold for about 15-20 minutes, this will depend on the outside temperature, a plus point is that you can use it directly on your skin as it has a cotton cover and you will not be at risk of getting cold burns.