Friends of knitters often receive hand-knitted caps as gifts. Sometimes these well-intentioned gifts of wool are a bit too big for the recipient. To remedy that, try washing the cap in hot water and rinse in cold water, which will shrink the wool.
Fill one bowl with hot tap water. When it is full, add a small amount of gentle soap and swish it around.
Put the wool cap into the hot water, holding it down until it is completely submerged. Do not agitate it. Soak it for 10 to 15 minutes to make sure it is saturated. Add hot water to the bowl if needed to keep it hot.
Fill the second bowl with cold tap water. There should be a big difference between the temperature of the first bowl and this one. Add some ice if needed.
Remove the hat from the hot water, press out some of the water and plunge it into the cold water. Make sure that you hold it down until it is completely submerged. Let it soak for a few minutes.
Remove the hat from the bowl, it should feel cold, not warm. Press out some of the water. Lay it out flat on the towel, and wrap it up in the towel and press out some of the water.
Lay the cap out on the other towel to dry, pat it out flat, making sure not to stretch the fabric. When the cap is dry, it will be a little smaller.
This will not work with washable wool.