Goat Milk Soap with Poppy Seeds: Cold-Process Recipe

Updated November 3, 2026

Total time
5 hr 30 min
prep 45 min · cook 0 min
Serves
10
portions as written

Jump to recipe

Goat Milk Soap with Poppy Seeds: Cold-Process Recipe

Goat milk soap with poppy seeds is a cold-process bar made with olive, coconut, shea, and castor oils, plus frozen goat milk and a little poppy seed for texture. The milk makes a creamy-looking soap, while the seeds add gentle scrubby texture; careful temperature control helps keep the milk from scorching as the lye dissolves.

Ingredients

  • Olive oil: 2 cups (450 g). Weigh it if possible; cup measurements are approximate because oil density and measuring technique vary.
  • Coconut oil: 1 cup plus 2 tablespoons (250 g), solid or melted and weighed. This contributes cleansing and a firm bar.
  • Shea butter: about 2/3 cup (150 g), weighed. Use unrefined or refined shea butter intended for cosmetic use.
  • Castor oil: 3 tablespoons plus 1 teaspoon (50 g), weighed. It supports a stable lather.
  • Pure sodium hydroxide (NaOH, lye): 125 g, weighed on a digital scale. Do not use a cup or spoon measure for lye; volume measures are too inaccurate for safe soap formulation.
  • Plain goat milk: 1 cup plus 3 tablespoons (285 g), frozen solid or to a firm slush. Use unsweetened milk without added flavorings.
  • Poppy seeds: 1 tablespoon (9 g). This small amount gives texture without making the bar excessively scratchy.
  • Lavender essential oil, optional: 18 g (about 4 teaspoons, depending on the oil). Choose an oil labeled for soapmaking and check its supplier’s skin-use limits; omit it for an unscented bar.

The oil weights and lye amount are the controlling measurements; the cup and spoon equivalents are only kitchen-friendly estimates. This formula is calculated for these exact oils and about 5% superfat. If you change an oil, its amount, or the lye concentration, recalculate the sodium hydroxide with a reputable soap calculator before making the batch. You will also need a digital scale, heat-safe stainless-steel or lye-safe plastic containers, a silicone loaf mold with roughly 1.5 kg capacity, a stick blender, a spatula, and a thermometer. Do not use aluminum, which reacts with lye.

Instructions

  1. Freeze the milk. Pour the measured goat milk into an ice-cube tray or shallow freezer-safe container and freeze for at least 4 hours, until solid or very slushy. Breaking the milk into small pieces makes it easier to incorporate the lye gradually. Set out the mold and tools while the milk freezes, but keep children and pets away from the work area.
  2. Set up safely and weigh everything. Work with good ventilation, away from food preparation. Put on splash-resistant goggles, chemical-resistant gloves, long sleeves, and closed shoes before opening the lye. Weigh each oil, the milk, and the lye separately. Keep a bowl of cool water nearby for rinsing accidental skin splashes; never use vinegar on a lye splash. Follow the lye manufacturer’s first-aid instructions, and seek urgent help for an eye exposure.
  3. Make the milk-and-lye solution. Place the frozen milk in a heat-safe stainless-steel or lye-safe plastic container set in a cold-water or ice bath. In a well-ventilated spot, slowly sprinkle the 125 g of lye into the milk in several small additions, stirring carefully after each one. Always add lye to liquid, never liquid to lye. The mixture heats as the lye dissolves, and milk can turn yellow or tan; that is common. Stir until no lye crystals remain, then set it aside to cool for about 45 minutes. Do not lean over the container or breathe the initial fumes.
  4. Melt and cool the oils. Gently melt the coconut oil and shea butter in a stainless-steel pot or microwave-safe container, using short bursts if microwaving. Stir in the olive and castor oils. Let the oils cool until they are about 85–95°F (29–35°C). Aim for the lye-milk solution to be in a similar range before combining. If either mixture is still warmer, wait rather than rushing; warm ingredients can darken the milk and make the batter harder to control.
  5. Blend to light trace. Pour the cooled lye-milk solution through a fine, lye-safe strainer into the oils if you see any undissolved material, though there should be no crystals when properly mixed. Put the stick blender head fully below the surface before switching it on to avoid splashing. Pulse for a few seconds at a time, alternating with hand stirring, until the batter thickens to light trace: a thin trail briefly rests on the surface before disappearing. This often takes a few minutes, but the exact time depends on the oils and room temperature.
  6. Add the seeds and optional scent, then mold. Stir in the poppy seeds and, if using, the lavender essential oil. Mix by hand just until evenly distributed. Pour the batter into the prepared silicone loaf mold and tap the mold gently on the counter to release large air pockets. Cover loosely with a lid or cardboard; do not wrap it tightly or insulate it heavily, because goat milk’s natural sugars can make the soap heat up. Leave it undisturbed for 24 hours.
  7. Unmold, cut, and cure. Check that the loaf is firm enough to release cleanly. If it is still soft, wait another 12–24 hours; then unmold and cut it into about 10 bars. Arrange the bars with space between them on a rack in a cool, dry, well-ventilated place, away from direct sun. Cure for 6 weeks, turning the bars occasionally. They may feel firm sooner, but the full cure lets excess water evaporate and gives the bars a longer-lasting feel. Do not use the bars while they are curing.

Tips

  • Use a scale, especially for lye. Even a small lye-measuring error can change the finished soap. Confirm that your scale reads grams reliably and keep the lye container closed and labeled when it is not in use.
  • Keep the milk cool. Frozen milk and a cold-water bath slow the temperature rise as lye dissolves. If the solution starts getting hot or smells scorched, pause and let it cool; do not add hot lye-milk to the oils.
  • Do not substitute oils casually. Different fats require different lye amounts. If you do not have shea butter, for example, use a soap calculator to reformulate rather than swapping in the same weight of another oil without recalculating.
  • Go easy on the exfoliant. One tablespoon is enough for a noticeable but moderate texture. More seeds can make a bar feel harsh, particularly on delicate skin, and seeds do not dissolve during curing.

Serving Suggestions

Soap is not food and must never be tasted or used as an edible gift. Once the bars have completed their six-week cure, use one at a sink or in the shower with warm water, working it into a lather between wet hands or on a washcloth. The poppy seeds give the surface a lightly textured feel, so use gentle pressure rather than scrubbing hard. If you are making the bars as gifts, label them clearly as soap and include the date they were made and the date the cure is complete.

This recipe makes about 10 bars, depending on the mold and how thickly you cut them. For a neater finish, trim uneven edges after unmolding and wrap each fully cured bar in paper or place it in a breathable cotton bag. Avoid wrapping fresh bars in airtight plastic while they are still curing, since they need airflow to dry evenly.

Variations

Unscented goat milk bars: Leave out the lavender essential oil without replacing it. The soap will still have the same base formula and poppy seed texture, with no added fragrance. This is also the simplest choice if you prefer to avoid scented products, though the finished soap will retain a mild natural soap scent.

Finer texture: Use 1–2 teaspoons (about 3–6 g) of poppy seeds instead of a tablespoon for a subtler feel. You can also omit them entirely for a smooth bar. Keep the oil and lye quantities unchanged when changing only the seed amount.

Different scent: A soap-safe fragrance oil or another essential oil can replace the lavender only when its supplier provides a suitable use rate for rinse-off soap. Follow that product’s maximum usage rate rather than assuming all scents can be used at the same percentage. Some fragrance oils accelerate trace, so stir by hand and pour promptly if the batter thickens quickly.

Milk alternative: Plain, unsweetened cow’s milk can replace goat milk gram for gram, although the finished bar will no longer be goat milk soap and may have a slightly different color or feel. Use it frozen or slushy and follow the same slow lye-addition method. Do not replace the milk with water by equal volume without recalculating the liquid and checking the recipe.

Storage and Reheating

There is no reheating step for this cold-process recipe, and finished bars do not need reheating. Keep the curing bars on an open rack in a cool, dry room with airflow for the full 6 weeks. Do not store them in a damp bathroom, a sealed container, or direct sunlight during the cure; trapped moisture can leave them soft and shorten how long they last in use.

After curing, store unused bars in a dry cupboard or drawer, separated by paper if stacking. A breathable paper wrap or cotton bag works well; avoid airtight wrapping if the bars still feel damp. Properly cured soap can generally be stored for many months, but use it sooner if it develops an unusual odor, visible mold, or a major change in appearance. In daily use, keep the bar on a draining soap dish so it can dry between washes. A bar left sitting in standing water softens and wears away faster.

Frequently Asked Questions

Can I use liquid goat milk instead of frozen milk?
Yes, but freezing or chilling it to a firm slush is strongly recommended for this method. Lye heats up as it dissolves, and the sugars in milk can darken or scorch if the mixture gets too hot. Measure the milk by weight and add the lye gradually while the container sits in a cold-water bath.

Why did my goat milk soap turn tan or brown?
Milk sugars can darken when exposed to the heat of the lye reaction, so cream, tan, or light brown color is common. Slow lye addition, frozen milk, and avoiding heavy insulation help limit overheating, but they do not guarantee a white bar. Color alone does not tell you whether the lye amount was correct; accurate weighing and a sound recipe matter.

Can I make this recipe without sodium hydroxide?
No. Sodium hydroxide is needed to turn the oils into solid soap through saponification. Properly formulated and fully cured soap does not contain the original lye as a separate ingredient, but uncured batter is caustic. Do not substitute baking soda, potassium hydroxide, or a household drain opener for the measured NaOH in this formula.

How do I know the soap is ready to cut?
After 24 hours, the loaf should be firm enough to release from the mold without bending or smearing. If it feels soft or sticks heavily, wait another 12–24 hours and check again. Temperature, humidity, and the mold can affect how quickly it firms up; waiting is safer than forcing a soft loaf out.

Can I use the bars as soon as they are hard?
No. Firmness after a day or two is not the same as a completed cure. Leave the cut bars in a ventilated place for the full 6 weeks so moisture can evaporate and the bars can become harder and longer-lasting. Keep them out of reach of children and pets until they are fully cured.

Can I add dried herbs or more poppy seeds?
You can add a small amount of dry, finely chopped botanical material, but it may discolor or create a rougher texture, and plant material can look different after curing. For this recipe, keep poppy seeds near the listed 1 tablespoon for a moderate scrub. Avoid fresh plant material, which adds moisture and can spoil or create uneven results.

Related

More recipes to cook

Safety notes: safe minimum internal temperatures from USDA FSIS; raw and undercooked fish guidance from the U.S. FDA. Food safety notes

Spotted an error? Tell us and we will correct it (corrections policy).