Than Sweden, yes; than Norway, no. On November 15, 2026, we priced 131 H&M articles on the Danish, Swedish and Norwegian online stores and converted them to euros at the European Central Bank rates of November 13. The Danish price was higher than the Swedish one for 119 of the 131, a median 12.9% higher, and a median 1.1% below the Norwegian one. The commonest combination, 18 articles, was 349 kr in Denmark (€46.69), 449 kr in Sweden (€40.42) and 499 kr in Norway (€47.21). Online, no article carried the same number in Danish and Swedish kroner. All three countries charge 25% VAT. Each store's prices came from 1-credit POST /api/v1/hm/category calls on Scavio's H&M API.
The question comes from r/Denmark, where a shopper posted an H&M price tag showing 50 kr, "no matter if it's Danish, Norwegian, or Swedish kroner", and asked whether Danes are getting ripped off. The thread drew 152 upvotes and 162 comments. A tag with one number for three currencies is worth three different amounts: at the ECB rates of November 13, 2026, 50 Danish kroner is €6.69, 50 Norwegian kroner €4.73 and 50 Swedish kroner €4.50. That is arithmetic on a photo. What H&M actually charges in each country online is checkable, so we checked it.
How we compared
We read five H&M category grids in each of the three online stores on November 15, 2026, between 18:43 and 18:53 UTC: men's hoodies, men's sweaters, women's straight jeans, women's knit dresses and kids' loose jeans. H&M uses the same category ids and the same 10-digit article codes in every market, so one category call per category and country, {"category": "men_hoodiessweatshirts_hoodies", "country": "dk", "page_size": 72}, returns up to 72 articles with their price in that country's currency, and the three answers join on article_code. That is 15 calls and 15 credits. We kept one colour of each product that appeared in all three stores: 131 articles (35 knit dresses, 30 hoodies, 25 women's jeans, 25 kids' jeans and 16 sweaters).
We compared regular prices, the price outside any sale; only 3 of the 131 were on sale in Denmark, 4 in Sweden and 4 in Norway that day. We converted with the ECB euro reference rates of November 13, 2026 (7.4756 DKK, 11.1075 SEK and 10.5695 NOK per euro), the latest published on the day of the capture. The standard VAT rate is 25% in Denmark and Sweden (European Commission, Your Europe) and in Norway (Skatteetaten), and every price here includes it.
What the prices show
| Denmark | Sweden | Norway | In euros (DK / SE / NO) | Denmark vs Sweden | Articles |
|---|---|---|---|---|---|
| 349 kr | 449 kr | 499 kr | €46.69 / €40.42 / €47.21 | +15.5% | 18 |
| 229 kr | 299 kr | 299 kr | €30.63 / €26.92 / €28.29 | +13.8% | 11 |
| 299 kr | 399 kr | 429 kr | €40.00 / €35.92 / €40.59 | +11.3% | 11 |
| 299 kr | 449 kr | 499 kr | €40.00 / €40.42 / €47.21 | -1.1% | 10 |
| 249 kr | 349 kr | 349 kr | €33.31 / €31.42 / €33.02 | +6.0% | 9 |
| 399 kr | 549 kr | 599 kr | €53.37 / €49.43 / €56.67 | +8.0% | 8 |
| 249 kr | 299 kr | 349 kr | €33.31 / €26.92 / €33.02 | +23.7% | 7 |
- Denmark was dearer than Sweden for 119 of the 131 articles, a median 12.9%. The gap held across all five categories: a median 15.5% for hoodies and for kids' jeans, 11.3% for knit dresses and for sweaters, and 3.9% for women's straight jeans. The Loose Fit Hoodie was 199 kr in Denmark (€26.62) and 229 kr in Sweden (€20.62).
- Denmark and Norway were close. Denmark was cheaper for 72 articles and dearer for 59, with a median Danish price 1.1% below the Norwegian one; 51 were within 2%. Norway was the dearest of the three for 72 articles and Denmark for 59; Sweden was the dearest for none.
- Online, the numbers are not the same. No article had the same price number in Denmark and Sweden, and one, a running hoodie at 299 kr, had the same number in Denmark and Norway. Sweden and Norway shared the number for 38 of the 131, as in the 229 / 299 / 299 row.
- Against the euro. For the 114 articles also on the Finnish store, the median Danish price was 13.7% above the Finnish euro price, the Norwegian 15.5% above and the Swedish 1.1% above. Against Germany (102 articles), Denmark was 11.3% above. Finland's VAT is 25.5% and Germany's 19%.
So, on these 131 articles and this day, a Dane paid more online than a Swede for the same H&M item, and about what a Norwegian paid. The thread's "50 kr in every currency" tag would put Denmark at the top, since the Danish krone is worth the most of the three; online, the Danish number is lower than the Swedish and Norwegian ones, but not by enough to close the gap with Sweden.
What this cannot tell you
This is one reading of online prices on November 15, 2026, for five categories we chose. It says nothing about in-store tags, which can differ from online prices; the thread's photo is an in-store tag, and we did not check any. It does not include shipping, member prices or sales, and it does not explain why H&M sets a price; it shows what each online store listed. Exchange rates move, so a gap of a few percent can close or open with the rate. And it is not buying advice.
The best H&M country price APIs takes the same capture to 41 online stores, where the median of 44 articles cost 114% more in its dearest store than in its cheapest and Denmark sat a median 15.0% above Germany.
Run the comparison yourself
import requests, statistics
API = "https://api.scavio.dev/api/v1/hm"
HEADERS = {"Authorization": "Bearer YOUR_SCAVIO_API_KEY"}
PER_EUR = {"DKK": 7.4756, "SEK": 11.1075, "NOK": 10.5695} # ECB reference rates, November 13, 2026
prices = {}
for country in ["dk", "se", "no"]: # 1 credit each, up to 72 articles per call
d = requests.post(f"{API}/category", headers=HEADERS, timeout=60,
json={"category": "men_hoodiessweatshirts_hoodies", "country": country,
"page_size": 72}).json()["data"]
prices[country] = {it["article_code"]: it["regular_price"] / PER_EUR[it["currency"]] for it in d["items"]}
common = set(prices["dk"]) & set(prices["se"]) & set(prices["no"])
gaps = [prices["dk"][a] / prices["se"][a] - 1 for a in common]
print(len(common), f"Denmark vs Sweden, median {statistics.median(gaps) * 100:+.1f}%")That is 3 credits for one category in the three stores. Add more category ids (ladies_jeans_straight, ladies_dresses_knitted, kids_clothing_jeans_loose, men_cardigansjumpers_jumpers) to widen the set; items[].category in any answer gives you more ids. To check one article, search its code in each country instead, as how to get H&M prices by country shows step by step.
Try the H&M API free, 50 credits, no card, enough to run this comparison 16 times, or run a category call in the playground.
Reference: H&M API overview · category docs · search docs · product docs · the best H&M country price APIs · how to get H&M prices by country · is IKEA cheaper in Germany? · are Switch games more expensive in Canada?
Frequently asked questions
Is H&M more expensive in Denmark than in Sweden?
Online, yes. On November 15, 2026, we priced 131 H&M articles on the Danish and Swedish online stores and converted both to euros at the ECB rates of November 13: the Danish price was higher for 119 of them, a median 12.9% higher. The commonest tags were 349 kr in Denmark (€46.69) and 449 kr in Sweden (€40.42). Both countries charge 25% VAT.
Is H&M cheaper in Norway or Denmark?
About the same. Of the 131 articles, Denmark was cheaper than Norway for 72 and dearer for 59, and the median Danish price was 1.1% below the Norwegian one at the ECB rates of November 13, 2026. 51 of the 131 were within 2% of each other.
Do H&M price tags show the same number in Danish, Swedish and Norwegian kroner?
The r/Denmark thread shows an in-store tag with one 50 kr price for all three currencies. Online, the numbers differ: of 131 articles we priced on November 15, 2026, none had the same number in Denmark and Sweden and one had the same number in Denmark and Norway. Sweden and Norway shared the number for 38. We did not check in-store tags.
Does VAT explain why H&M costs more in Denmark?
Not against Sweden or Norway. The standard VAT rate is 25% in Denmark, Sweden and Norway, so the three online prices include the same share of VAT. The 12.9% median gap between Denmark and Sweden is there with VAT held equal; this data does not show why H&M prices each market as it does.
How can I compare H&M prices between countries with code?
Scavio's H&M API takes an article code or a category id and a country: POST /api/v1/hm/category with the same category id and country dk, se and no returns up to 72 articles priced in each store's currency per call, 1 credit each. Article codes are the same in every market, so you can join the three answers on article_code.