DIY Your Own Zero Waste Laundry Detergent in only 7 Minutes

This is our second favorite homemade laundry detergent. What? Only the second favorite?, you might wonder, Why does she even bother posting the recipe then?

Well, our favorite laundry detergent is using horse chestnuts (aka conkers in the UK), which we simply collect off sidewalks or in parks every fall. It is an all-natural, ridiculously local, and completely free way to wash your clothes. In fact, now is the best time to go out to collect some horse chestnuts! Head over to my FAQ on this to learn more!

However, depending on where you live, horse chestnuts might not be an option, because, well, they do not grow in your area! Or you are reading this article off-season and, honestly, you shouldn’t have to wait for fall to arrive to be able to wash your clothes in a healthier, non-invasive, and non-toxic way!

In our case, we moved from Germany to Vancouver in spring, and yes, we had the audacity to leave our all-natural laundry detergent behind. So ever since then we have been using this homemade laundry detergent, and I can say that we like it and it is just as effective, if not even slightly more effective.

The reason why we still prefer using horse chestnuts is because it is as local and as zero waste as it can get! You can probably collect the nuts on your walk, so the carbon footprint is zero! There is no upstream waste, and putting nuts that would otherwise rot on the streets to good use just makes my little zero waste heart skip a beat! ❤️😝

Homemade Powder Detergent

Time required

7 minutes including grating the soap, 3 minutes if you have previously grated soap on hand


5.6 oz/ 160 g palm oil-free castile bar soap*
1 cup/ 240 g baking soda
1 cup/ 240 g washing soda
Optional: Essential oils for a nice fragrance (I prefer my clothes unscented though)

  1. Grate the castile bar soap into soap flakes. Skip this step if you have previously grated soap. (I like to grate a bar of soap while watching some TV show to wind down, so I usually have some soap flakes at hand.)
  2. Mix to combine all ingredients. Blend in blender or food processor if you prefer it completely pulverized. I personally do not mind though.
  3. Use 1–2 tbsps per load.

* Unfortunately, most bar soaps contain palm oil (read more about the social and environmental impact of palm oil), and even organic palm oil is very controversial. And yes, all of Dr. Bronner’s soaps contain (organic) palm oil. Palm oil-free choices are Kirk’s Coco bar soap (not organic, sold in a recyclable paper wrapper), and 100% olive oil soap that you can often find in Middle Eastern, Greek, and Turkish stores.

Sharing is caring

Filed under Article, Housekeeping, Magazine


  1. Can I use Alep soap?

    Thanks for your chestnut idea, I didn’t know that soap nuts were not ecological. It’s so hard to keep up with everything!

    • You can :)! We have used it with Alep soap and it works great! And please, don’t be too hard on yourself! I didn’t know until my friend wrote the guest post here on how to use horse chestnuts! You cannot know what you don’t know, right? 😉
      And it’s very cool that you try to keep up! <3 What we can do is to keep an open mind, try to keep up, and make the best decisions based on what we do know, right?

      • I’m not beating myself up! I found that it’s actually counter-productive to do that. I do what I can do and I know that I’m always doing the best I can even if it’s not perfect. It’s always better than nothing!

  2. Do you put the powder directly with the clothes ?
    I have tried a similar recipe but it asked to dissolve everything in hot water (so it was obviously liquid). Do you need to use a hot temperature cycle with this recipe?

    • You can :). And you don’t need to use a hot temperature cycle, but of course you can. Using hot water is always more efficient, provided the material of your clothes can be washed at that temperature.

  3. Does it have to be castile soap or can I grate any odd bar of soap for example fragrance free curd soap?
    Thanks for your easy recipe!

  4. Will this recipe work in washers that call for HE soaps only?

  5. This laundry soap is great! I made a batch from two small soap bars and it lasted for almost two years!
    How? It’s pretty concentrated, and I diluted it with hot water until I felt it was almost like liquid laundry soap and stored in a bottle. It will separate in the bottle after a while, but just give it a good shake before using. Still only need 1-2 spoons per wash!
    I couldn’t find washing soda and tried baking baking soda (I think) but didn’t see any difference so I might have used only baking soda or even baking powder. 😀 It was a long time ago, but my clothes always stayed clean.

    Oh, and softener? 1 part vinegar of choice, 1 part water. And if you dye your hair and get those small packages of hair conditioner, you can squeeze them into the mixture as well. I wouldn’t use them on my hair but I don’t mind using them on my clothes.

  6. Pingback: The big list of zero waste cleaning recipes - Green Indy

  7. Pingback: Plastic Free DIY Cleaning Recipes For Your Entire Home - Splendid Moon

  8. Courtney S

    Do you use this solo or do you add in a softener too (like vinegar/water mix?) Thanks!!

  9. I’m a little new to doing my own laundry (I’m autistic and have usually had assistance, but have requested to do my own laundry now) and I’m wondering if this recipe for homemade powder detergent is safe for HE washers and where I would be putting the powder in the washing machine? Is it in the same area that I would put a liquid detergent?

  10. Pingback: Easy Zero Waste Swaps - A Comprehensive List Of 93+ Swaps | Earth Macros

  11. If you use essential oils, will it cause oil stains on your clothes when you wash them?

    • Essential oils are so intense, you really only need to add a few drops. These tiny quantities will not stain your clothes, I promise :).

  12. Will this dissolve in cold water? Can it be used in HE? Do you combine with clothes or in the top detergent compartment? Thanks!

  13. Anonymous

    JrQT’ AND (SELECT 3553 FROM(SELECT COUNT(*),CONCAT(0x7162767071,(SELECT (ELT(3553=3553,1))),0x7170706a71,FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.PLUGINS GROUP BY x)a) AND ‘xeSk’=’xeSk

  14. Anonymous

    JrQT) AND (SELECT 3553 FROM(SELECT COUNT(*),CONCAT(0x7162767071,(SELECT (ELT(3553=3553,1))),0x7170706a71,FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.PLUGINS GROUP BY x)a) AND (6718=6718

  15. Anonymous

    JrQT AND (SELECT 3553 FROM(SELECT COUNT(*),CONCAT(0x7162767071,(SELECT (ELT(3553=3553,1))),0x7170706a71,FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.PLUGINS GROUP BY x)a)– LhCM

  16. Anonymous

    JrQT) AND 7948=CAST((CHR(113)||CHR(98)||CHR(118)||CHR(112)||CHR(113))||(SELECT (CASE WHEN (7948=7948) THEN 1 ELSE 0 END))::text||(CHR(113)||CHR(112)||CHR(112)||CHR(106)||CHR(113)) AS NUMERIC) AND (6869=6869

  17. Anonymous

    JrQT’) AND 2031 IN (SELECT (CHAR(113)+CHAR(98)+CHAR(118)+CHAR(112)+CHAR(113)+(SELECT (CASE WHEN (2031=2031) THEN CHAR(49) ELSE CHAR(48) END))+CHAR(113)+CHAR(112)+CHAR(112)+CHAR(106)+CHAR(113))) AND (‘vBky’=’vBky

  18. Anonymous

    JrQT’ AND 2023=(SELECT UPPER(XMLType(CHR(60)||CHR(58)||CHR(113)||CHR(98)||CHR(118)||CHR(112)||CHR(113)||(SELECT (CASE WHEN (2023=2023) THEN 1 ELSE 0 END) FROM DUAL)||CHR(113)||CHR(112)||CHR(112)||CHR(106)||CHR(113)||CHR(62))) FROM DUAL) AND ‘aBcp’=’aBcp

  19. Anonymous

    (SELECT 9092 FROM(SELECT COUNT(*),CONCAT(0x7162767071,(SELECT (ELT(9092=9092,1))),0x7170706a71,FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.PLUGINS GROUP BY x)a)

  20. Anonymous

    JrQT UNION ALL SELECT CONCAT(CONCAT(‘qbvpq’,’SjEwZxlcJjnadzseGWgrouyqEEHsfxCoahqVjYxR’),’qppjq’),NULL,NULL,NULL,NULL,NULL– KqqT

  21. Anonymous

    -3029 UNION ALL SELECT NULL,NULL,NULL,NULL,NULL,CONCAT(CONCAT(‘qbvpq’,’dooRhQcjHupMNpYklLYnlvgHoXmJIsJkgQSqHCNY’),’qppjq’)– suWe

  22. Anonymous


  23. Anonymous

    rvIF’) AND (SELECT 6878 FROM(SELECT COUNT(*),CONCAT(0x7178706a71,(SELECT (ELT(6878=6878,1))),0x71626b7671,FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.PLUGINS GROUP BY x)a) AND (‘rkHK’=’rkHK

  24. Anonymous

    rvIF AND (SELECT 6878 FROM(SELECT COUNT(*),CONCAT(0x7178706a71,(SELECT (ELT(6878=6878,1))),0x71626b7671,FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.PLUGINS GROUP BY x)a)– rOyO

  25. Anonymous

    rvIF) AND 7857 IN (SELECT (CHAR(113)+CHAR(120)+CHAR(112)+CHAR(106)+CHAR(113)+(SELECT (CASE WHEN (7857=7857) THEN CHAR(49) ELSE CHAR(48) END))+CHAR(113)+CHAR(98)+CHAR(107)+CHAR(118)+CHAR(113))) AND (2424=2424

  26. Anonymous

    rvIF’ AND 2742=(SELECT UPPER(XMLType(CHR(60)||CHR(58)||CHR(113)||CHR(120)||CHR(112)||CHR(106)||CHR(113)||(SELECT (CASE WHEN (2742=2742) THEN 1 ELSE 0 END) FROM DUAL)||CHR(113)||CHR(98)||CHR(107)||CHR(118)||CHR(113)||CHR(62))) FROM DUAL) AND ‘kcwK’=’kcwK

  27. Anonymous

    (SELECT 3610 FROM(SELECT COUNT(*),CONCAT(0x7178706a71,(SELECT (ELT(3610=3610,1))),0x71626b7671,FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.PLUGINS GROUP BY x)a)

  28. Anonymous


  29. Anonymous


  30. Anonymous

    -2444 UNION ALL SELECT NULL,NULL,CONCAT(CONCAT(‘qxpjq’,’JCmTMSSfggZCgNDODzlPbUkMbBiRkyqnMLMTWmly’),’qbkvq’),NULL– swAy

  31. Anonymous

    -1334 UNION ALL SELECT NULL,NULL,CONCAT(CONCAT(‘qxpjq’,’DoCDZYLfVz’),’qbkvq’),NULL– edFp

  32. Anonymous


  33. Anonymous


Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.