Skip to content
HomeButton-UpsOld Navy vs H&M

H&M vs Old Navy: which button-up to buy, and when

Both land in the budget tier: the H&M Slim Fit Cotton Shirt at $25, the Old Navy Everyday Shirt at $30, $5 apart. Here is how they stack up, head to head.

Comparing the brands overall, not just these two? H&M vs Old Navy, the whole-brand comparison

H&MOld Navy
Price$25$30
MaterialThin cotton or cotton-blend (poplin, oxford or linen blend).Lightweight cotton or cotton-blend (oxford / poplin / flannel by season).
FitSlim European cut, true to size; runs trim and short.Regular casual fit, true to size; runs slightly boxy.
QualityBudget — thin cloth, basic buttons and seams, fades and loosens after several washes.Budget — thin fabric, basic buttons, collar and cuffs wear within a year.
Best forOccasional wear, trend pieces, and cheap one-season shirts.Casual everyday wear, layering, and cheap stocking-up.
CareCold wash and hang or tumble low; expect some shrink and colour loss early on.Cold wash and tumble low; expect some shrink and fade over the first washes.

Both are budget button-ups built for one or two seasons, not the long haul. H&M's $25 slim cut runs trim and short with thin poplin or oxford cloth; Old Navy's $30 everyday shirt sits slightly boxy in a regular casual fit. The $5 gap mostly buys a roomier, more relaxed silhouette rather than better cloth.

The case for H&M
$5 cheaper, slim European cut, trim trend-led look, fine for one season
The case for Old Navy
Roomier regular fit, easy layering, true to size, casual stocking-up

VerdictThe pick

Buy the H&M shirt at $25 if you want a slim, trim look and accept a one-season life from thin cloth. Pay the extra $5 for Old Navy if you'd rather have a relaxed casual fit that layers easily and you're stocking up cheap. Neither lasts past about a year, with collars and cuffs the first to go, so don't overthink it. Pick on fit and the cheaper one wins unless you specifically want room.

This link may pay us when you click or buy, at no extra cost to you.

All button-ups by price tier