Costco and Walmart are the two most affordable brick-and-mortar pharmacies in the United States. Both undercut traditional chains like CVS and Walgreens by 50-80% on generic drugs. But between the two of them, pricing differences are real and worth understanding -- especially if you fill prescriptions every month.
We compared prices on 12 common medications across both pharmacies and broke down the differences by category: $4 list generics, non-list generics, brand-name drugs, 90-day supplies, and mail order. If you want the broader picture of how all major pharmacies compare, see our cheapest pharmacy ranking for 2026.
Before we compare prices, there is one critical detail that changes the math for millions of people: you do NOT need a Costco membership to use the pharmacy.
Federal and state laws classify pharmacy services as essential health services that cannot be restricted behind a membership paywall. Costco is legally required to serve non-members at the pharmacy counter. You can walk into any Costco, tell the door greeter you are heading to the pharmacy, go directly to the counter, and fill your prescription at the same price as a paying member.
This is not a workaround or a loophole. It is federal law. We covered this in detail in our complete Costco pharmacy guide. The takeaway: even if you never buy a Costco membership, their pharmacy prices are available to you.
Walmart's pharmacy, of course, has never required membership. Their $4 generic program is open to everyone, no signup, no coupon, no insurance needed.
The reason these two pharmacies price differently comes down to their underlying business models.
Costco caps their pharmacy markup at roughly 14-15% above wholesale acquisition cost. This applies to their entire formulary -- generics, brand-name drugs, specialty medications. There is no special list or program. Every prescription gets the same low-margin treatment. Costco makes its money on membership fees and warehouse sales, so the pharmacy operates as a traffic driver rather than a profit center.
Walmart takes a different approach. Their $4 generic list covers roughly 300 medications at a flat $4 for 30 days or $10 for 90 days. On these drugs, Walmart often sells at or below cost. But for everything not on the $4 list -- including all brand-name drugs -- Walmart charges standard retail pricing with a typical pharmacy markup of 20-35%. This means Walmart's prices are a tale of two pharmacies: excellent on list drugs, mediocre on everything else.
This structural difference explains why Costco tends to win overall. For details on exactly which drugs are on the $4 list, see our complete Walmart $4 list for 2026.
| Category | Costco | Walmart |
|---|---|---|
| $4 list generics (30-day) | $1.85-$4.12 (varies by drug) | $4.00 flat |
| $4 list generics (90-day) | $4.50-$10.50 (varies) | $10.00 flat |
| Non-list generics (30-day) | Cost + 14-15% markup | Standard retail (20-35% markup) |
| Brand-name drugs | Cost + 14-15% markup | Standard retail (25-40% markup) |
| Specialty medications | Available, low markup | Available, standard markup |
| Mail-order pharmacy | Yes (members only) | Yes (via Walmart+/Express Delivery) |
| Membership required | No (federal law) | No |
| Number of locations | ~600 | ~5,000+ |
| Drive-through | No | Yes (most locations) |
| Sunday hours | Limited or closed | Open |
| Accepts GoodRx | Yes | Yes |
| Accepts insurance | Yes | Yes |
We compared cash prices for 12 of the most commonly prescribed generic medications in the U.S. All prices are for a 30-day supply at standard dosages, current as of April 2026. The "Winner" column shows which pharmacy has the lower price.
| Drug (30-day supply) | Costco | Walmart | You Save | Winner |
|---|---|---|---|---|
| Atorvastatin 20mg | $2.81 | $4.00 | $1.19/fill | Costco |
| Lisinopril 20mg | $1.85 | $4.00 | $2.15/fill | Costco |
| Metformin 1000mg (60ct) | $3.22 | $4.00 | $0.78/fill | Costco |
| Amlodipine 10mg | $2.14 | $4.00 | $1.86/fill | Costco |
| Omeprazole 20mg | $3.07 | $4.00 | $0.93/fill | Costco |
| Sertraline 100mg | $3.56 | $4.00 | $0.44/fill | Costco |
| Losartan 50mg | $2.73 | $4.00 | $1.27/fill | Costco |
| Levothyroxine 50mcg | $2.89 | $4.00 | $1.11/fill | Costco |
| Gabapentin 300mg (90ct) | $5.11 | $10.00 | $4.89/fill | Costco |
| Montelukast 10mg | $4.12 | $4.00 | $0.12/fill | Walmart |
| Escitalopram 10mg | $3.44 | $4.00 | $0.56/fill | Costco |
| Hydrochlorothiazide 25mg | $1.62 | $4.00 | $2.38/fill | Costco |
Score: Costco wins 11 out of 12. Walmart only edges ahead on montelukast, and by just 12 cents. On the most lopsided comparisons -- hydrochlorothiazide, lisinopril, gabapentin -- Costco saves you $2-$5 per fill, which adds up to $24-$60 per year on a single medication.
These prices are all for drugs on Walmart's $4 list, where Walmart is at its most competitive. For drugs not on the list, Costco's advantage grows significantly. We break this down in the next section.
About 300 generic medications are on Walmart's $4 list. But there are thousands of generic drugs that are not on it. For those drugs, Walmart charges standard retail pricing -- and the gap between Walmart and Costco widens considerably.
Examples of common generics NOT on Walmart's $4 list and their approximate cash prices (30-day supply):
| Drug | Costco | Walmart | Savings |
|---|---|---|---|
| Duloxetine 60mg (generic Cymbalta) | $6.88 | $19.47 | $12.59/fill |
| Rosuvastatin 20mg (generic Crestor) | $7.24 | $16.99 | $9.75/fill |
| Pantoprazole 40mg (generic Protonix) | $5.17 | $14.89 | $9.72/fill |
| Bupropion XL 150mg (generic Wellbutrin) | $11.23 | $24.99 | $13.76/fill |
On non-list drugs, Costco saves $10-$14 per fill compared to Walmart. If you take one of these medications monthly, that is $120-$168 per year in savings from one prescription alone. If you are on multiple medications not covered by the $4 list, filling at Costco is not optional -- it is essential. For alternative savings strategies on non-list drugs, check our guide on saving on prescriptions without insurance.
Walmart's $4 program only covers generics. For brand-name medications -- including drugs that have no generic equivalent -- Walmart charges standard retail prices. Costco's low markup applies to everything.
Approximate cash prices for popular brand-name drugs (30-day supply):
| Brand-Name Drug | Costco | Walmart |
|---|---|---|
| Eliquis 5mg (60ct) | $498 | $542 |
| Jardiance 25mg | $512 | $558 |
| Synthroid 100mcg (brand) | $32.49 | $48.99 |
| Crestor 20mg (brand) | $268 | $312 |
On brand-name drugs, Costco typically saves $15-$50 per fill compared to Walmart. For high-cost specialty drugs, the dollar difference gets even larger. If you are stuck on a brand-name medication with no generic alternative, Costco should be your first stop. Also worth checking: Cost Plus Drugs, which uses a similar cost-plus model for mail-order.
If you are paying out of pocket for expensive prescriptions, those costs may be tax-deductible. CeoCult's guide to medical expense deductions explains the IRS threshold and what qualifies.
Filling a 90-day supply instead of three 30-day fills saves trips and sometimes money. Both pharmacies offer 90-day pricing, but the structures differ.
Walmart charges a flat $10 for a 90-day supply of any drug on the $4 list. Costco prices 90-day supplies based on their standard markup, which is roughly 2.5-2.8x the 30-day price (a slight per-unit discount).
| Drug (90-day supply) | Costco | Walmart |
|---|---|---|
| Atorvastatin 20mg | $6.92 | $10.00 |
| Lisinopril 20mg | $4.51 | $10.00 |
| Amlodipine 10mg | $5.28 | $10.00 |
| Losartan 50mg | $6.74 | $10.00 |
On 90-day fills, Costco's advantage actually grows compared to the 30-day comparison. You save $3-$5.50 per 90-day fill at Costco. Over a year, that is four 90-day fills, saving $12-$22 per drug per year on top of what you would already save with 30-day fills. Ask your doctor to write 90-day prescriptions whenever possible.
Both Costco and Walmart offer mail-order options, but with important differences.
Costco mail-order requires a Costco membership ($65/year for Gold Star). If you are a member, you can order maintenance medications through costcopharmacy.com and have them delivered at Costco's standard low prices. Non-members cannot use mail order.
Walmart mail-order is available through their website and app. Standard shipping is free on orders over $35. Walmart+ members ($12.95/month) get free next-day delivery on prescriptions at select locations. The $4 list prices apply to mail-order fills.
For mail-order alternatives that do not require membership, Cost Plus Drugs offers cost-plus pricing (cost + 15% markup + $5 shipping) that often matches or beats both Costco and Walmart. We compared it head-to-head with GoodRx in our GoodRx vs Cost Plus analysis.
Walmart is the better choice if:
Costco is the better choice if:
For a broader perspective on how pharmacy costs fit into overall wellness spending, Health Britannica's comparison of prescription and supplement costs provides useful context.
Both Costco and Walmart accept discount cards like GoodRx and SingleCare. But the usefulness varies.
At Costco: Discount cards rarely beat Costco's regular cash price. GoodRx might show a Costco coupon, but the price is usually identical to or marginally higher than what you would pay at the counter without it. Costco's cost-plus model already strips out the PBM middleman markup that discount cards negotiate around. Check the coupon, but do not expect it to be lower.
At Walmart: Discount cards can sometimes beat the $4 list price on select drugs, though it is rare. Where cards add real value is on Walmart's non-list drugs, where standard retail pricing is in effect. A GoodRx coupon might drop a $19 Walmart price to $8 -- still likely higher than Costco, but a meaningful improvement. See our discount card comparison for specifics.
Let's model a realistic patient: someone taking three common maintenance medications monthly for a full year.
| Drug | Costco (annual) | Walmart (annual) | Annual Savings at Costco |
|---|---|---|---|
| Atorvastatin 20mg (12 fills) | $33.72 | $48.00 | $14.28 |
| Lisinopril 20mg (12 fills) | $22.20 | $48.00 | $25.80 |
| Omeprazole 20mg (12 fills) | $36.84 | $48.00 | $11.16 |
| Total annual savings: | $51.24 | ||
That is $51 saved per year on three of the cheapest generics at both pharmacies. If even one medication is not on Walmart's $4 list, the savings jump dramatically. Replace omeprazole with duloxetine (not on the $4 list), and annual savings climb to over $200.
Use our pharmacy price finder tool to check current prices for your specific medications at both Costco and Walmart locations near you.
Price is not the only variable. Here is how the two pharmacies compare on the practical side of filling prescriptions:
| Convenience Factor | Costco | Walmart |
|---|---|---|
| Typical pharmacy hours | Mon-Fri 10am-7pm, Sat 9:30am-6pm | Mon-Sat 9am-9pm, Sun 10am-6pm |
| Drive-through | No | Yes (most locations) |
| Wait time (avg) | 15-25 minutes | 10-20 minutes |
| App/online refills | Yes (basic) | Yes (robust) |
| Delivery | Members only (mail order) | Free over $35 / Walmart+ |
| Locations | ~600 U.S. | ~5,000+ U.S. |
Walmart is meaningfully more convenient. More locations, longer hours, drive-through windows, Sunday availability, and a better digital experience. For people who value their time, Walmart's $4 list generics at $0.50-$2.00 more per fill might be worth the convenience premium.
For patients managing both prescription costs and insurance decisions, our guide on insurance copays vs. cash prices explains when paying cash actually beats using your plan -- a scenario that is surprisingly common at both Costco and Walmart.
For most medications, yes. Testing 12 common generics in April 2026, Costco was cheaper on 11 of them. The savings range from $0.44 to $4.89 per fill on drugs that are on Walmart's $4 list. On generics not covered by the $4 list, Costco typically saves $10-$14 per fill. On brand-name drugs, the gap is $15-$50 per fill. Walmart only wins on a small handful of drugs where the flat $4 price undercuts Costco's cost-plus pricing.
No. Federal and state laws require pharmacies inside membership warehouse clubs to serve non-members. You can walk into any Costco, tell the door greeter you are visiting the pharmacy, and fill your prescription at the same prices available to members. No membership card, no fee, no signup. The only Costco pharmacy service that requires membership is their mail-order pharmacy.
Yes. Walmart's $4 generic prescription program remains active in 2026. It covers approximately 300 generic medications at $4 for a 30-day supply and $10 for a 90-day supply. No membership, insurance, or coupon is required. The list is periodically updated, so check the current list or ask your Walmart pharmacist whether your specific medication qualifies.
Costco, by a wide margin. Walmart's $4 program covers only generics. For brand-name medications, Walmart charges standard retail prices with a 25-40% markup. Costco's 14-15% markup applies to their entire formulary, including brand-name drugs. On medications like Eliquis, Jardiance, and brand-name Synthroid, Costco typically saves $15-$50 per fill compared to Walmart.
Yes, both pharmacies accept GoodRx coupons. However, at Costco, the regular cash price is usually the same as or lower than the GoodRx price, so the coupon adds little value. At Walmart, GoodRx can help on drugs not on the $4 list, potentially bringing a $19 price down to $8. Always compare the coupon price to the pharmacy's cash price before paying. See our GoodRx vs SingleCare comparison for more.
Price comparisons, $4 list changes, and savings tips. Free, no spam.