Skip to content

Make Beautiful Soap at Home

Minimal, safe, and science-backed lessons designed for any country and any kitchen.

Browse Courses About Us

Next live Q&A starts in

Join and get a concise safety checklist + the starter formula pack.

00
Days
00
Hours
00
Mins
Reserve spot

Cold • Hot • Melt & Pour

Master every major technique with step-by-step videos and printable formulas. Zero photos used — pure clarity and text-first focus.

Universal Units

Work in grams or ounces. Our calculators and lessons adapt to your locale automatically.

Safety First

Proper lye handling, pH understanding, and reliable curing timelines. Clear, verifiable practices.

Start Today

Short lessons. Lifetime access. Community support via Q&A. Compliant with Google Ads content standards.

See All Courses

Why SoapCraft Academy?

Popular Topics

A tiny “starter” roadmap

In 7 steps, go from “I’m curious” to your first cured bar — with proper safety and realistic timing.

  1. 1Pick a technique (Melt & Pour is fastest; Cold Process teaches the most).
  2. 2Learn safety + workspace setup (PPE, ventilation, containers).
  3. 3Use a proven base formula and weigh precisely.
  4. 4Control temperature and trace for consistent texture.
  5. 5Choose fragrance safely and dose within IFRA ranges.
  6. 6Unmold, cut, label, and cure with airflow.
  7. 7Evaluate (hardness, lather, scent) and iterate.

Quick contact

Questions before you start? We reply within 1–2 business days.

Accessibility

Keyboard-friendly navigation, high contrast, and light theme by default. You can switch themes in the header.

Catalog

Find Your First Course

Tip: You can always change later — our catalog has filters and search.

Free Soap Safety Checklist

We’ll send a short, practical PDF-style checklist (demo: saved locally, not sent).

st.className = 'mt-3 text-xs text-red-700 min-h-[1.25rem]'; } }); } (function boot() { setupGlobalClicks(); setupCountdown(); setupPageActions(); setupQuiz(); setupForms(); setupChecklistCopy(); injectPart('header', 'header.html', initHeaderInteractions); injectPart('footer', 'footer.html', initFooterInteractions); })();