Money may earn a commission when you click on the products and services below. Opinions are our own,
but compensation and in-depth research determine where and how they appear. Learn more about how we make money.


Costco and Walmart are known for their competitive prices on everyday items.

But who actually has the better deals?

As a frugal shopper, I always strive to find the best prices on common household goods. So, I went on a quest to find out if Costco or Walmart offered the best prices on everyday items when they’re not on sale.

Costco’s large quantities may imply major value for the money, but as we’ve seen, not all of Costco’s offerings make for a good deal.

And while Walmart is famous for their “roll-back” pricing and price matching with competitors, there are still some items that are more expensive than at Costco.

The only way to tell which store is cheaper is by comparing unit price, since quantity size can differ.

Here, the two grocery giants go head-to-head when it comes to everyday items — and there's a clear winner. (Prices may vary based on location.)

1. Milk

It's always good to know the cost of one of the most common purchases. Costco sells 2 gallons of Vitamin D milk for $5.99, which is about $3.00 per gallon.

When I surveyed prices last week, Walmart offers a gallon of milk for $3.16.

Winner: Costco

2. Eggs

Planning your weekend brunch? Walmart sells 3-dozen large AA eggs for $3.47, which means a single dozen costs $1.15.

In comparison, Costco goes for bulk and sells 5-dozen large eggs for $8.79, making each dozen cost $1.76 — more expensive than Walmart by 61 cents per dozen.

Winner: Walmart

3. Cheese

We compared three kinds of cheese for this review: shredded cheddar, shredded mozzarella, and string cheese.

At Costco, their store brand of cheddar costs 16 cents per ounce, string cheese is 16.7 cents per piece, and mozzarella costs 15 cents per ounce.

Walmart carries their store brand shredded cheddar and mozzarella cheeses for 26.4 cents per ounce and string cheese for 29.2 cents per ounce (which equals one piece).

This is a big difference: Costco is about half the price for all across the board.

Winner: Costco

4. Paper Plates

Walmart offers Dixie 8½-inch paper plates for 5 cents per plate, where Costco offers the same brand and size plate for 6.5 cents per plate.

If you’re purchasing a pack of 200 plates, that difference adds up to $3. Pennies accrue quickly!

Winner: Walmart

5. Toilet Paper

This one might be surprising.

Charmin Ultra Soft toilet paper costs a whopping 74.9 cents per roll at Costco, while it only costs 15.3 cents per roll at Walmart. That's a big difference for a recurring purchase.

Winner: Walmart

6. Facial Tissue

Summer colds are real. Luckily, Costco offers a large quantity of Kleenex brand facial tissue at less than 1 cent per tissue (0.8 of 1 cent to be exact). And Walmart charges 1.4 cents per tissue for the same brand.

Adding up the cost based on an average box of tissue (160 tissues per box), it’s a much clearer win for Costco.

Costco: 160 tissues x .008 = $1.28 per box
Walmart: 160 tissues x 0.014 = $2.24 cents per box

So, in the end, it's 96 cents cheaper per box to buy Kleenex from Costco.

We used the average-sized box in order to compare, but keep in mind Costco carries the 330-tissue size box, so you'll get more for your money.

Winner: Costco

Subscribe to Money on YouTube for more videos.

7. Sanitary pads

Although Costco doesn’t carry many varieties of sanitary pads, the Always Ultra Thin pads are a great deal at 14 cents per pad, while Walmart offers the same product for 20 cents per pad.

Winner: Costco

8. Laundry Detergent

We compared Arm & Hammer detergent prices at both stores.

Costco carries this brand for 4.4 cents per load, while Walmart offers the detergent for 4.6 cents per load.

That is a negligible price difference, so we're calling a tie for this product.

(And you might be surprised to know that Walmart actually sells a 255-ounce container, which is larger than what Costco carries.)

Winner: It's a tie!

9. Pop-Tarts

Walmart offers the strawberry Pop-Tarts for 11.4 cents per package, while it costs 25.9 cents per package at Costco.

Costco’s Pop-Tarts are nearly three times more expensive than Walmart's. Good to know for your last-minute breakfast needs.

Winner: Walmart

10. Mayonnaise

Costco offers their 64-ounce jar of mayonnaise for 10.9 cents per ounce while Walmart’s price is 11.2 cents.

Bring on the BLTs.

Winner: Costco (by a fraction of a cent)

11. Mouthwash

News to share with your dentist: Listerine mouthwash costs 11.8 cents per ounce at Costco, while at Walmart it costs 14.8 cents per ounce.

Winner: Costco

And the overall winner is…


The store offers lower prices on 6 out of 11 products we surveyed (not including the tie).

Unit price comparison is just one way to see if you’re getting a good deal. However, shoppers should take into account that Costco charges its members a fee to shop there.

For the store prices that are tied or very close, Walmart’s price may be the better deal, especially if you're not a Costco member.

The most important takeaway is to keep an eye on unit prices across the board — and you might find surprising savings as you shop.