Act quickly, then use the right cleaning order

The first step is to remove the solid material without pushing it deeper into the fibers. Use a spoon or dull knife to scoop up what you can, working from the outside edge toward the center so you don't spread it. Blot the wet area with paper towels or old cloth—press down rather than rub, which can work the stain further in.

Once you've removed the bulk of it, the stain itself comes out in layers. Vomit contains stomach acid and partially digested food, so you're dealing with both a protein stain and an acidic residue. The order matters: neutralize the acid first, then break down the protein, then remove the color. Skipping steps or doing them backward leaves a ghost stain that reappears when the carpet dries.

Key Takeaways

  • Remove solid material with a spoon first, blotting from the edges inward to avoid spreading the stain deeper.
  • Neutralize stomach acid with a solution of one part white vinegar to one part water, applied and blotted repeatedly.
  • Break down protein residue using an enzyme cleaner or a mixture of one tablespoon dish soap, one tablespoon white vinegar, and two cups warm water.
  • Rinse thoroughly with plain water multiple times, then dry the area completely to prevent mildew and color reappearance.

Neutralize the acid with vinegar

Mix one part white vinegar with one part water in a spray bottle. Spray the stained area until it's damp but not soaked, then let it sit for five minutes. The vinegar neutralizes the stomach acid, which is what causes the yellow discoloration and the smell.

Blot the area with clean cloth or paper towels, pressing down firmly. You should see the stain transfer to the cloth. Repeat the spray-and-blot cycle three to four times, using fresh cloth each time. Stop when the cloth comes away mostly clean and the vinegar smell begins to fade.

Use an enzyme cleaner or soap solution

Enzyme cleaners are the most effective option because they break down the protein in vomit at a molecular level. Products like Nature's Miracle, Rocco & Roxie, or store-brand enzyme cleaners all work the same way. Follow the product instructions—most require you to spray the area, let it sit for 10 to 15 minutes, then blot. The enzymes need time to work, so don't rush this step.

If you don't have an enzyme cleaner on hand, make a solution with one tablespoon of dish soap (Dawn or similar), one tablespoon of white vinegar, and two cups of warm water. Spray or pour this onto the stain, let it sit for five minutes, then blot repeatedly. This won't work as well as enzymes, but it will help break down the remaining protein.

Rinse the carpet thoroughly

After the enzyme cleaner or soap solution has done its work, you need to remove all the cleaning liquid and residue. Mix one tablespoon of white vinegar with two cups of water and spray the entire stained area. Blot with clean cloth. Repeat this rinse step at least twice more with plain water only, blotting each time.

Leftover cleaning solution or soap will attract dirt and can cause the stain to reappear as the carpet dries. This is the step most people skip, and it's why stains come back. Keep rinsing until the cloth comes away clear and the carpet no longer smells like vinegar or soap.

Dry the carpet completely

Moisture left in the carpet can lead to mildew, odor, and color reappearance. Open windows or turn on a fan to move air across the area. If you have a wet-dry vacuum, use it to extract as much water as possible. If not, place a stack of clean, dry towels over the spot and weight them down with something heavy—a book, a brick, or a chair leg. Change the towels every hour until they stop absorbing moisture.

The area should be completely dry within 24 hours. If it still feels damp after that, continue running a fan or dehumidifier over it. A damp carpet is a breeding ground for bacteria and mold, and the smell will return.

What to do if the stain won't come out

Some vomit stains—especially old ones or those that have already been cleaned with the wrong method—can set permanently into the carpet fibers or backing. If you've followed the steps above and the stain is still visible after the carpet is completely dry, you have two options.

The first is to rent a carpet cleaning machine from a hardware store and use a commercial carpet cleaner designed for protein stains. These machines explore hot water and cleaning solution under pressure, then extract it back out. Follow the machine's instructions and the cleaner's label exactly. The second option is to call a professional carpet cleaner and tell them it's a vomit stain—they have industrial equipment and stronger cleaners that can often remove what home methods cannot. This costs money, but it's worth it if the stain covers a large area or is in a visible spot.

Prevent the smell from returning

Even after the stain is gone, the smell can linger if bacteria are still present in the carpet backing or padding. After the carpet is dry, sprinkle baking soda over the area, let it sit for several hours, then vacuum it up. Baking soda absorbs odors without adding chemicals.

If the smell persists, spray the area lightly with a solution of one part white vinegar and three parts water, let it dry completely, then sprinkle baking soda again. Do not oversaturate the carpet—you only want to dampen it slightly. The goal is to kill any remaining bacteria without introducing so much moisture that you're back to the drying step.

Frequently Asked Questions

Can I use bleach on a vomit stain?

No. Bleach will damage or discolor most carpet fibers and won't effectively remove the stain. It can also create toxic fumes if mixed with other cleaners. Stick with vinegar, enzyme cleaners, and dish soap.

What if the stain is on a light-colored carpet?

Light carpets show stains more clearly, but the cleaning method is the same. Work quickly and be extra careful during the rinsing step—any leftover soap or vinegar will be more visible. You may need to rinse four or five times instead of three.

How long does it take for a vomit stain to set permanently?

It depends on the carpet fiber and how wet the stain got. Fresh stains (cleaned within a few hours) almost always come out. Stains left for more than 24 hours begin to set, especially if they've dried and been walked on. Older stains may require professional cleaning.

Will the stain come back after I clean it?

If you rinse thoroughly and dry completely, it shouldn't. Stains reappear when cleaning solution is left behind and attracts dirt as the carpet dries, or when the carpet isn't fully dry and bacteria regrow. Follow the rinsing and drying steps carefully.

Is it safe to use enzyme cleaners on all carpet types?

Enzyme cleaners are safe on most synthetic and natural fiber carpets, but test on a hidden corner first if your carpet is antique, wool, or silk. Always follow the product label. If you're unsure about your carpet type, call a professional cleaner before treating it yourself.