Here's the direct answer: 3% hydrogen peroxide, diluted 1:1 with water in a spray bottle, used as a pre-spray before hot water extraction. That's the actual technique — not the dish soap and vinegar mix that shows up on every stain-removal page on the internet. I've used it on a wine stain that hit both a sofa and an area rug in the same visit, and on a coffee stain that had been sitting for two weeks before anyone called me. Both came out completely.

Why the same five DIY tips don't actually work

Search "how to get a wine stain out of carpet" and you'll land on the same handful of sites — COIT, HGTV, a dozen blog-mill pages that all repeat the same five tips: blot, don't rub. Dish soap and vinegar. Salt for wine. Cold water for blood. Alcohol for ink. None of it is technically wrong, but none of it is differentiated either. Every stain gets the same generic checklist, and nobody addresses what happens when it doesn't work. That is presumably often, since it's usually the point someone gives up and calls a professional. There's also nothing specific to the GTA in any of it. It's the same content regardless of who's reading it or where.

The actual technique: diluted hydrogen peroxide

What I tell customers, and what I use myself: buy 3% hydrogen peroxide — the standard brown-bottle kind, available at Dollarama — and dilute it 1:1 with water in a spray bottle. Pre-spray the stain with that mix, then extract with hot water. Hydrogen peroxide is an oxidizer, and it works well on organic staining specifically — wine, coffee, tea, that category of discoloration — which is part of why it does something the dish-soap approach usually can't finish on its own.

Test it first. Hydrogen peroxide is an oxidizing bleach, and even at 3% it can lighten carpet dye — the risk is highest on dark, wool, silk, or otherwise non-colourfast material. Standard practice is a small drop on a hidden spot, wait 10–15 minutes, then blot with a white cloth to check for colour transfer before using it anywhere visible. Skipping that step on a dark or delicate carpet is how a stain turns into a bigger problem than it started as.

Real job: red wine on a Toronto sectional and a Persian rug

A customer in downtown Toronto spilled red wine on their fabric sectional, and it also landed on their Persian area rug — same incident, same visit. I pre-sprayed both with the diluted peroxide mix, then went over each with hot water extraction. The stain came out completely on both pieces. That's the sectional below, after — no discoloration, no faint shadow where the wine landed.

Fabric sectional sofa in a Toronto home after a red wine stain was fully removed
Toronto sectional after red wine stain removal — diluted hydrogen peroxide pre-spray, hot water extraction.

Real job: a two-week-old coffee stain in Oakville

Different job, different city: an Oakville customer had a coffee stain on their upholstery that had been sitting for a couple of weeks before they called — not a fresh spill they caught right away. Same technique: peroxide pre-spray to lift the discoloration, then hot water extraction. It worked. I bring that job up specifically because almost every generic stain guide leads with "act immediately or the stain is permanent," and that's just not how it played out here. Timing helps, but it's not the deciding factor most advice makes it out to be.

Before you try this yourself

  • Test for colourfastness first. Small drop on a hidden spot, wait 10–15 minutes, blot with a white cloth. If there's any colour transfer, stop.
  • Dilute it 1:1 with water. Full-strength isn't necessary and increases the bleaching risk for no real benefit.
  • Pre-spray, then extract — don't spray and walk away. The peroxide loosens the staining; extraction is what actually pulls it out. Leaving it to dry on the fabric is how you end up with a ring or a light patch.
  • This is for organic staining — wine, coffee, tea. It's not a universal fix for every stain type, and it's not the right first move for something like blood or a protein-based stain.
  • Know when to stop. A large or long-set stain, a delicate fabric like silk or wool, or anything you've already treated with another product is when it's worth calling someone instead of layering on more chemistry.

This isn't a secret formula, it's just chemistry

Nothing about the peroxide trick is proprietary. It's cheap, it's available at a dollar store, and any professional could tell a customer the same thing over the phone. The reason generic content doesn't mention it isn't that it's a secret — it's that most of that content isn't written by anyone differentiating between stain types in the first place. A pre-spray + hot water extraction is what actually finishes the job that dish soap and blotting usually only starts.

If a spill's already set in, or you'd rather not experiment with your own upholstery, our carpet cleaning and upholstery cleaning pages cover what a full professional visit includes. Pre-spray and agitation are part of the standard per-area rate, not an add-on. You can build a real number for your own place with our price estimator.

If the spill has already dried and set, that is the point to call rather than keep working at it. We handle stain and odour removal as part of a normal carpet cleaning visit across twelve cities, Brampton and Mississauga included. Get in touch and we will tell you honestly whether it is liftable.