Soil mix for indoor plants: a simple DIY recipe (and why it works)
A reliable, beginner-friendly DIY indoor plant soil mix you can batch in minutes—plus the practical “why” behind each ingredient and easy tweaks for succulents, aroids, and more.
TL;DR
Use this simple base mix (by volume): 2 parts coco coir (or peat moss) + 1 part perlite (or pumice) + 1 part fine orchid/pine bark + 1/4 part compost or worm castings. Pre-dampen until it “feels like a wrung-out sponge” but then pot into containers with drainage holes! (Why? The coir/peat holds moisture, perlite adds some air + drainage, bark keeps the mix chunky/structured, and compost/castings add gentle nutrients. Quick tweaks: more perlite for succulents, a bit of vermiculite if they’re thirsty, and bark-heavy mixes for epiphytes (orchids, hoya). If plants stay wet too long, then reduce compost and increase bark/perlite, if they dry out too fast then increase coir and maybe a little vermiculite.)
Indoors, plants don’t fail because you “don’t have a green thumb” as often as they fail because their roots can’t breathe. Indoors, pots dry slower, airflow is lower, and light is weaker—so a mix that’s even fold slightly too dense can hang wet long enough to trigger rot!
It’s that simple, really: A good indoor “soil mix,” is really a potting media and it does just that: media—to “mediate,” or balance four things: (1) drainage, (2) moisture storage, (3) air pockets for roots to dive into, and, (4) nutrients over time. Most indoor mixes are intended to be (partly or fully) soilless, since “soil” tends to dry unevenly, and can carry larger risks of soilborne issues.
The simple DIY recipe (works for most common houseplants)
Wait, first: measure everything by volume (cups, scoops, a yogurt container—whatever’s consistent).
- 2 parts coco coir (or sphagnum peat moss)
- 1 part perlite (or pumice)
- 1 part fine orchid bark / pine bark fines (not big chunky nuggets for orchids—think “small chips”)
- 1/4 part compost or worm castings (optional but helpful)
If you use peat moss, expect it to be naturally acidic and sometimes hard to re-wet when fully dry. Many growers add limestone to raise and stabilize pH in peat-based mixes (follow label guidance for your lime product and batch size).
Optional add-ins (keep it simple)
- Slow-release fertilizer: useful if you’re not fertilizing regularly with liquid feed. Follow the product label for container rate.
- Dolomitic or calcitic limestone (especially for peat-based mixes): helps raise/buffer pH and adds calcium (dolomitic also adds magnesium).
- Vermiculite (small amount): increases moisture and nutrient-holding—best for thirsty plants or if your home is very dry.
- Horticultural charcoal (small amount): can improve structure and reduce “stale” compaction over time, but it’s not required.
Step-by-step: mix it correctly (this matters more than people think)
- Hydrate your base first. If using coco coir bricks, fully expand it with water and break up clumps. If using peat, lightly mist and fluff so it’s evenly damp (peat can repel water when bone dry).
- Combine the “chunky” ingredients. Mix bark + perlite/pumice in a tote or bucket so the aeration is distributed evenly.
- Add coir/peat and mix thoroughly. You’re aiming for a uniform texture—no layers.
- Add Compost/Castings Last. Mix just until incorporated (too much fine material makes a mix heavy and slow to dry).
- Moisten to the Right Level. Grab a handful and squeeze: it should hold and then crumble. A few drops of water is okay; a stream too wet.
- Pot and Test Drainage. Fill the pot, water slowly until it drains, and confirm water doesn’t pool on top for more than a few seconds.
- Adjust on the Next Batch. If stays wet for days, increase bark/perlite. If dries in 24 hours, increase coir/peat slightly (or add a small amount of vermiculite).
Safety tip: perlite dust is irritating to breathe. Dampen perlite before mixing and consider a dust mask if you’re sensitive.
Why this mix works (the “plant physics” in plain English)#
Healthy roots need a repeating cycle: water → drain → pull fresh air into the root zone → slowly dry. Indoors, the biggest enemy is a mix that collapses into tiny particles, squeezing out air and staying soggy.
Wowza! Earthquakes.
That might seem like a lot of inputs (and it is), but you’re really just talking about a metric ton of compost, some perlite, and a little coco chip or something in between.
The trick is to know what each of the ingredients does, and that you can swap it for something else to achieve a similar but slightly different effect.
| Ingredient | What it contributes | Good swaps | Common mistake |
|---|---|---|---|
| Coco coir or peat | Moisture retention and a consistent base structure | Use coir for easier re-wetting; use peat if you need a more acidic base | Using it alone (too dense/airless over time) |
| Perlite (or pumice) | Air pockets + faster drainage; reduces compaction | Pumice (heavier, more durable); coarse horticultural grit (sparingly) | Using very fine perlite or crushing it while mixing |
| Fine bark (orchid/pine bark fines) | Long-lasting “chunk” that keeps channels for air and drainage | Rice hulls (shorter-lived); coarse coco chips (more water-holding) | Using bark that’s too large (roots struggle) or too dusty (mix turns heavy) |
| Compost or worm castings | Gentle nutrients + biology (in small amounts) | Skip it and fertilize regularly instead | Adding too much (mix becomes muddy; salts can be an issue in some compost) |
| Vermiculite (optional) | Extra water and nutrient-holding (CEC) | More coir/peat (for moisture) | Overusing it in low-light homes (mix stays wet too long) |
Plant-by-plant tweaks (keep one base mix, then adjust)
You don’t need a different bag of soil for every plant. Make the base mix, then “steer” it wetter or drier with small changes.
| Plant type | How to adjust the base mix | Why it helps |
|---|---|---|
| Aroids (pothos, philodendron, monstera, syngonium) | Increase bark slightly (e.g., +1/4 part bark) if you tend to overwater | They like oxygen at the roots and don’t want dense, swampy media |
| Ficus, dracaena, palms | Keep base mix; go easy on compost (or skip it) | These often suffer more from slow-drying mixes than from low nutrients |
| Ferns, calathea/marantas, peace lily | Add a small amount of vermiculite OR increase coir slightly; don’t reduce perlite too much | They prefer more even moisture but still need air pockets |
| Succulents & cacti | Use 1 part coir/peat + 1 part bark + 2 parts perlite/pumice (skip compost) | Fast drainage is the priority; lower organic fines reduces rot risk |
| Orchids (many types) | Use an orchid-specific bark mix instead of this recipe | Most orchids are epiphytes and need much larger air spaces than typical houseplants |
Common DIY soil mix mistakes (and how to avoid them)
- Using garden soil indoors. It compacts in pots and can bring pests/weed seeds. Stick with potting media ingredients designed for containers.
- Too much compost. Compost is great—until it turns your mix into pudding. Keep it to a small fraction unless you’re very experienced.
- Going too fine. Fine sand, dust-like bark, and crushed perlite fill in the air space way too fast.
- Skipping the pre-moistening step.The dry peat/coir in your mix will hydrate unevenly, creating dry pockets and maybe even dry (hydrophobic) spots.
- No drainage hole (or a decorative pot with water standing in it).There’s no horror-film scenario a great soil can save you from if your pot never drains.
Troubleshooting: diagnose by how the pot dries
Fast fixes for the most common issues
| Symptom | Most likely cause | Fix |
|---|---|---|
| Soil stays wet 5–10+ days | Too many fine particles; low light; oversized pot | Next batch: +1/2 part perlite or bark, reduce compost; use a smaller pot; increase light/airflow |
| Water runs down the sides and won’t soak in | Peat-based mix got bone dry and turned hydrophobic | Bottom-water to rehydrate; remix in wetting step next time; can try coir or a wetting agent designed for potting media |
| Soil dries in 1–2 days and plant wilts quickly | Too airy for your conditions; small pot; high heat/sun | Next batch: increase coir/peat; add small amount of vermiculite; upsize pot one step |
| Fungus gnats keep returning | Constantly wet top layer; organic fines | Let top inch dry; use sticky traps; reduce compost/castings; can try chunkier top-dressing or bottom watering |
| Salt crust/leaf tip burn soon after repotting | Fertilizer too strong; compost/castings high in salts; hard water buildup | Flush with clean water; reduce amendments; use lighter feeding and verify your water quality |
How to verify your mix is “right” (simple tests you can do at home)
Squeeze test (texture): damp handful should clump, then crumble with a poke. If it smears like mud, it’s too fine/wet.
Drainage test
: water the pot fully.If water rests on the surface for a long time or drains very slowly, you may need more bark/perlite.
- Dry-down timer: make a note of how many days it takes the pot to go from “just watered” to “time to water again.” For many common houseplants, a typical goal is a few days—not two weeks and not one day (your home conditions may vary).
- Root check at the next repot: healthy roots are typically firm and light-colored. If you see mushy roots often, your mix is staying too wet or you’re watering too often.
- Optional lab test (for the advanced): if you’re mixing in large batches or using compost regularly, a greenhouse/soilless media test can check pH and soluble salts (EC). Many extension services describe desirable pH ranges for soilless media tests around 5.5–6.5 for general crops.
A “perfect” recipe doesn’t exist. Your light, pot size, humidity, and watering habits are part of the mix. The best DIY soil is the one that consistently dries at a pace you can manage without stressing the plant.
Batch sizes (so you don’t have to do math every time)Because this recipe uses “parts,” scaling is simple. Pick a scoop size and stick with it.
[TABLE caption="Example: small batch using a 2-cup volume Coco coir / peat 2 scoops 4 cups Perlite / pumice 1 scoop 2 cups Fine bark 1 scoop 2 cups Compost/castings (optional) 1/4 scoop 1/2 cup
FAQ
Q: Can I use sand instead of perlite?
A: In small amounts, coarse sand can help drainage, but it also adds weight and can reduce air space if the particles are too fine. For most indoor pots, perlite or pumice is easier to work with and better at keeping the mix airy.
Q: Do I have to add compost or worm castings?
A: No. If you fertilize with a balanced houseplant fertilizer, you can skip compost/castings and keep the mix cleaner and more predictable. Compost/castings are best as a small “boost,” not the main ingredient.
Q: Is coco coir better than peat moss?
A: They’re both useful. Coir is often easier to re-wet and tends to resist shrinkage when dry. Peat has a long track record in potting media but is typically more acidic and can become water-repellent when fully dry. Choose based on availability, your watering style, and your preferences.
Q: Should I bake or sterilize my DIY mix?
A: For most indoor houseplants, it’s usually not necessary and can create odor and mess. If you’re using questionable materials (like outdoor soil) or you’re starting seeds and want a cleaner medium, consider using fresh, reputable ingredients instead of trying to sterilize a heavy soil blend.
Q: What pH should indoor potting media be?
A: Many extension references for soilless/greenhouse media testing list a commonly desirable pH range around 5.5–6.5 for general crops. Individual plants can prefer different ranges, and your irrigation water and fertilizer can shift pH over time.
References
Penn State Extension — Homemade Potting Media. Penn State Extension — Potting Media and Plant Propagation (updated Jan 14, 2025). University of Florida IFAS — Homemade Potting Mix. Oklahoma State University Extension — Greenhouse Growth Media Sampling, Testing and Interpretations. ATTRA/NCAT — Potting Mixes for Certified Organic Production. Perlite Institute – The Water-Holding Capacity of Perlite.