Thread Report

H&M Shirt Fabric Composition.

We analyzed 8 shirt products from H&M. At 68.2% average natural fibre, shirts are one of H&M's better categories — 8.3 percentage points above their overall average of 59.9%. Rayon is the most common fibre in H&M shirts, found in 75% of products.

8Shirt Products
68.2%Avg Natural Fibre
59.9%H&M Overall

Top Fibres in H&M Shirt

Rayon
75%
Linen
37.5%
Polyamide
37.5%
Cotton
25%

How H&M Compares — Shirt

Average Natural Fibre % by Brand

Arket
100%
Pangaia
100%
Madewell
98.5%
Sézane
97.5%
House of CB
92.9%
Ganni
88.5%
& Other Stories
87.1%
J.Crew
86.9%
Acne Studios
86.6%
Barbour
85.7%
COS
82.3%
Aritzia
80.8%
Massimo Dutti
80.1%
AllSaints
79.9%
Reformation
79%
Maje
76.9%
Sandro
75%
Pull&Bear
73.6%
ASOS
72.7%
Boohoo
72.5%
Gymshark
71.5%
Zara
71.5%
Bershka
71.1%
H&M
68.2%
Princess Polly
64.6%
Mango
61.9%
Meshki
59.5%
Stradivarius
56.9%
Uniqlo
51.1%
PrettyLittleThing
26.5%
Patagonia
16.7%

Monthly Thread Reports

Get reports like this in your inbox.

We analyze thousands of products every month. Be the first to see new Thread Reports — fabric data nobody else publishes.

No spam. Unsubscribe in one click.

Frequently Asked Questions

What are H&M shirts made of?

Across 8 shirt products from H&M, the average natural fibre content is 68.2%. This is above H&M's overall average of 59.9%.

Are H&M shirts good quality fabric?

At 68.2% average natural fibre, H&M shirts are a mixed bag. Higher natural fibre content generally means better breathability, durability, and less microplastic shedding.

Should I buy shirts from H&M?

If fabric composition matters to you, H&M shirts average 68.2% natural fibre. Use the Fibr browser extension to check individual items while shopping — fabric quality varies widely even within one category.

Related reports.

Stop buying plastic by accident.

Fibr shows you what every garment is actually made of before you buy it. Green means natural fibre. Red means plastic.

Add to Chrome — It's free

Free forever. No account, no data collected, nothing to lose.