Your $3 Flannel Actually Cost $12 and That’s Fine
Real talk: I haven’t bought a shirt at full retail price in four years and I’m not about to start now. The true cost of thrifting is a conversation most of us skip, and my closet is proof of why it deserves a closer look. Every hanger holds something pulled from a rack that smelled like dust and other people’s lives, and that’s exactly how I want it. But I’d be lying if I said every secondhand find was actually cheap. We love saying “this was three dollars” in the comments under a haul video. It feels good. It sounds good. Sometimes it’s even true. But sometimes that three-dollar flannel quietly turns into a twelve-dollar flannel once you account for everything it took to get it from the rack to your body looking right.
I’m not here to kill the vibe. I’m here because I think thrifters deserve better math. The “secondhand is cheaper than retail” line is the entry-level argument. It works on your parents. It works on people who still think H&M is a deal. But inside our world, among people who actually do this every weekend, we need a sharper framework. Not to talk ourselves out of buying used. Never that. But to know what we’re really spending so the wins hit harder and the Ls teach us something.
The $5 Floor Is Real, but It’s Not the Whole Story

Goodwill’s [network-wide average item price](https://www.goodwill.org/) is still under five bucks. That fact holds up even after pandemic-era price bumps, and it’s easy to confirm for yourself. Walk into most locations in mid-size cities and the sticker shock runs in reverse: a tee for $2.99, jeans for $5.99, a blazer for $7.99. I hit a Goodwill in Richmond last month and walked out with a heavy cotton Eddie Bauer button-down, a pair of Dickies 874s with maybe two months of wear on them, and a wool-blend cardigan that someone’s grandfather clearly loved. Total was $11.47 before tax. That’s the dream scenario and it absolutely still happens.
But here’s where it gets complicated. That Eddie Bauer shirt had a quarter-sized stain near the second button. I knew I could get it out with an oxalic acid soak, which I did, but the bottle of Bar Keeper’s Friend I keep for that purpose cost me $6 when I bought it. The Dickies needed hemming because they were a 34 inseam and I’m a 30. I did it myself on a machine I already owned, but thread and the hour it took aren’t nothing. The cardigan smelled like a closet that hadn’t been opened since 2019. Two wash cycles. Woolite Dark. Time.
None of this means the haul wasn’t worth it. It means the sticker price and the actual cost are different numbers, and pretending they’re the same is the kind of shortcut that eventually makes people feel like secondhand isn’t saving them anything.
Online Resale Blurs Everything Even More

Walk into a store, find a thing, pay for it, leave. The math is simple. Depop, Poshmark, eBay, Mercari? Different animal entirely.
I found a 90s Nike ACG shell on Depop last February. Listed at $22. Solid price for a piece that goes for $45-$80 depending on condition and colorway. But then: $7.97 shipping. Depop’s buyer fee structure took another slice. The seller’s photos were shot in weird yellow light so I couldn’t tell the true color until it arrived, and when it did, the zipper pull was missing. I replaced it with a paracord pull, which looked sick honestly, but I had to order a small pack of cord and grommets from a craft supply site for $4. So my $22 jacket became a $34 jacket.
Was it still cheaper than buying a new-to-me ACG piece at retail? Absolutely. Nike ACG stuff currently sits at $120-$250 new depending on the piece. But was it the steal it looked like in my cart? Not quite. And that gap between perceived price and actual cost is where a lot of people, especially those new to online resale, get tripped up.
The advice floating around right now says to compare your secondhand price against current sale prices, not the original retail sticker. That’s smart. A $30 resale find on a jacket that retails for $150 sounds incredible until you realize that same jacket went on sale for $45 last month at the outlet. Used doesn’t automatically mean cheap. It just means used. The bargain part requires you to actually check.
Item-Level Math Is the Move Now

The old framework was category-level. “Secondhand saves money on clothes.” Cool. True in general. But the people who are really good at this, the ones whose closets go hard and whose bank accounts stay intact, they think at the item level. Every single find gets its own tiny cost-benefit calculation, even if it happens in three seconds while standing in the aisle.
Here’s how I do it now. I look at a piece and I ask myself a fast sequence of questions. What does this cost on the tag? What will I need to do to it before I can wear it? Do I already have the supplies and skills for that, or do I need to buy or learn something? What does this item go for on resale platforms right now? What does a comparable new version cost at full price and on sale?
That sounds like a lot but it becomes instinct. Last week I picked up a Carhartt WIP beanie at a Salvation Army for $1.50. It needed nothing. A lint roller pass, maybe. Those retail for $30-$35 new and rarely go on sale because Carhartt WIP holds value. That’s a true bargain. No hidden costs. No alterations. No shipping. Just a beanie in a bin that someone else walked past.
Compare that to a vintage silk blouse I almost bought at a consignment shop for $18. Beautiful piece. But it had a small tear along the shoulder seam, the lining was separating at the hem, and it needed dry cleaning because silk is silk. Dry cleaning alone would’ve been $8-$12. A tailor to fix the seam and lining? Probably another $15-$20 in my city. So my $18 blouse was actually a $41-$50 blouse. Still possibly worth it if the piece was rare or exactly what I wanted for a specific look. But not a bargain. An investment. And those are different categories that deserve different thinking.
The Labor Tax Nobody Talks About

Here’s the part that gets left out of every haul video. Time is a cost. I don’t mean that in a hustle-culture, “time is money” way. I mean that the hours you spend digging, washing, de-pilling, steaming, pinning, sewing, and re-washing are hours. They come from somewhere. They replace something else you could be doing.
I’m not saying that’s bad. I genuinely enjoy the hunt. Flipping through racks is meditative for me. Running a seam on my Singer is satisfying in a way that almost nothing else is. De-pilling a cashmere sweater with a fabric shaver while watching something dumb on my phone? That’s a Friday night I chose freely. But for people who are calculating whether secondhand saves them money compared to buying new, the labor component matters.
If you spend four hours at three different stores and come home with two pieces, you didn’t “save money” in any simple sense. You chose to spend your Saturday afternoon on clothes instead of something else. That’s fine. That’s a lifestyle choice. That’s identity. But it’s not the same as clicking “add to cart” on a sale item during your lunch break. The time shapes are different and we should be honest about that instead of pretending every trip is a pure economic win.
This is especially relevant for people who shop resale online. Scrolling Depop or Mercari for an hour to find the right piece, messaging sellers about measurements, waiting for shipping, maybe dealing with a return if the fit is off. That’s not nothing. That’s effort and attention and sometimes frustration, and it all sits on top of the dollar amount you paid.
So Why Do We Still Do This
Because value isn’t just money. That’s the real answer and it’s the one that holds up even when the math gets complicated.
I wear a 1970s bowling shirt I found at an estate sale in Roanoke for $2. It’s polyester. It has a name stitched on the chest pocket that isn’t mine. The collar is slightly warped from decades of hanging wrong. I’ve gotten more compliments on that shirt than anything else I own. Nobody else has it. Nobody can go buy it. It exists as a one-of-one piece in my rotation and that fact alone changes how I feel when I put it on.
Gen Z thrifters have been saying this for years and the research is finally catching up. A [2026 study on secondhand fashion](https://www.thredup.com/resale) described the market as shifting from necessity toward identity construction. People aren’t just buying used to save money. They’re buying used to avoid looking like everyone else. When you wear something mass-produced, you’re wearing a decision that a design team made for millions of people. When you wear something from a secondhand rack, you’re wearing a decision you made for yourself, filtered through whatever weird personal taste brought you to that specific store on that specific day.
That’s worth something. It’s hard to put a dollar figure on it, but it’s worth something real. The distinctiveness factor, the feeling of discovery, the story you can tell about where you found it — these are forms of value that don’t show up in a price comparison spreadsheet.
Building the Habit Without the Delusion
So here’s where I land on all of this. Thrifting is still, on average, significantly cheaper than buying new. That baseline truth hasn’t changed. But “on average” hides a lot of variation, and if you want to actually be good at this, you need to stop treating every secondhand purchase as an automatic win and start doing real math on the ones that matter.
The formula I use is simple: sticker price + transport cost + cleaning supplies (amortized across items) + alteration cost + any fees or shipping = true per-item cost. Let me run my Richmond haul through it as a worked example.
The Richmond Goodwill Haul, Real Numbers:
– Eddie Bauer button-down — sticker: $3.49 + cleaning supply share (Bar Keeper’s Friend, $6 bottle used across ~20 items = $0.30) + wash cost (~$0.50 for water and detergent) = $4.29
– Dickies 874s — sticker: $5.99 + thread ($0.40) + time value of hemming (I don’t charge myself, but if you value your hour at $10, add $10; I add $0) = $6.39 (or $16.39 if you count the labor)
– Wool-blend cardigan — sticker: $1.99 + two wash cycles with Woolite Dark (~$1.00) + dryer sheets ($0.20) = $3.19
Total real cost: $13.87 versus the $11.47 sticker total. Gas to the store was about $4 round trip, which pushes the all-in to roughly $17.87 for three pieces, or $5.96 per item.
Compare that to buying equivalent pieces new: an Eddie Bauer button-down runs $50-$70 retail, Dickies 874s sit around $25-$30, and a decent wool-blend cardigan hits $40-$80. Even at sale prices, you’re looking at $60-$80 for the same three categories. My $17.87 all-in still destroys that number. But it’s not $11.47, and knowing the real spread is what keeps you sharp.
Get specific about your cleaning supplies. I keep a small kit: Woolite Dark for knits, OxiClean for cotton stains, a $12 fabric shaver from Amazon that’s lasted two years, a steamer I got at a yard sale for $5, and a box of color-catching sheets for mixed loads. Knowing what I have on hand means I can factor those costs into my per-item calculations. When I pick up a wool sweater with pilling, I know the de-pill is free because I already own the tool. That changes the math.
Learn basic alterations. Hemming pants, taking in a waist, replacing buttons, fixing a dropped seam. These are skills that collapse the cost of secondhand dramatically. A pair of trousers that needs hemming costs $10-$15 at a tailor. If you can do it yourself in twenty minutes, that’s twenty minutes versus fifteen dollars. Over a year of thrifting, that gap adds up to hundreds of dollars and a closet that actually fits.
Shop local before you shop online. The fees and shipping on resale platforms eat into your savings in ways that a cash transaction at a neighborhood store simply doesn’t. I use Depop and eBay for specific searches, like when I’m hunting a particular era of Patagonia fleece or a specific Levi’s cut, but for general wardrobe building, the in-person experience is almost always cheaper all-in.
Compare against sale prices, not retail fantasy. That vintage denim jacket for $25 sounds great against the $120 retail price of a new Levi’s Trucker. But if Levi’s ran a 40% off sale last week and you could’ve gotten it for $72 new, your savings picture changes. I’m not saying buy the new one. I’m saying know the real spread so you can feel confident about your choice instead of inflating the win.
Track your spending for one month. I did this in January and it was humbling. I spent $67 at thrift stores, $34 on Depop including shipping, $12 on cleaning supplies, and $0 on alterations because I did them myself. Total: $113 for eleven pieces. That’s roughly $10.27 per item all-in. Compared to my old fast-fashion habit, which averaged maybe $18-$25 per item at places like Zara or ASOS, I’m still saving. But it’s not the $3-per-piece story I was telling myself. It’s a $10-per-piece story. Still good. Just different. And knowing the real number makes me a smarter shopper, not a worse one.
The Bargain Is Bigger Than the Price Tag
At the end of all this math, the thing I keep coming back to is that I don’t do this because it’s the cheapest possible way to get dressed. I do it because it’s the best way for me to get dressed. The clothes feel different. They carry weight. They have texture and wear patterns and small imperfections that make them feel human in a way that shrink-wrapped fast fashion never does.
That bowling shirt with someone else’s name on it? It cost me $2 and zero additional dollars. It’s the most efficient purchase I’ve made in years. But even if it had cost me $20 after cleaning and a button fix, I’d still choose it over a $15 tee from a mall store. Because the value isn’t just in the savings. It’s in the shirt. It’s in the fact that I found it, I chose it, and nobody told me to want it.
The conversation about secondhand pricing is getting more honest, and that’s a good thing. We don’t need to pretend every find is a steal. Some are. Some are just okay deals. Some, if we’re being real, barely save us anything once we factor in the full picture. But even the ones that break even on cost still win on everything else: uniqueness, quality of materials from eras when brands used better fabric, the satisfaction of rescue, the refusal to participate in a system that wants you to buy new every two weeks.
Know your numbers. Do the math. Be honest about what you’re spending. And then keep at it anyway, because the case against new was never just about price. It’s about who you want to be when you get dressed in the morning. The answer to that question doesn’t have a barcode.
[*Alt text notes for CMS: (1) Hero image — Richmond Goodwill haul laid flat: Eddie Bauer button-down, Dickies 874s, and wool-blend cardigan on a wooden floor, total price tags visible. (2) In-article image — close-up of Nike ACG shell with paracord zipper pull replacement. (3) In-article image — the author’s cleaning supply kit: Woolite Dark, OxiClean, fabric shaver, handheld steamer, and color-catching sheets arranged on a shelf. (4) In-article image — 1970s bowling shirt on a hanger, name patch visible on chest pocket.*]
