What is an HS code? The Harmonized System, explained
An HS code is a standardized number that tells customs authorities what a product is. HS stands for Harmonized System — a classification maintained by the World Customs Organization and used by more than 200 countries and territories, covering the overwhelming majority of world trade. When your parcel lands in a customs facility in Germany or Japan, nobody reads your product description and ponders it; the HS code is what determines how the item is treated, what duty rate applies, and whether the shipment clears or stalls. If you sell physical products internationally, every one of them needs a code.
What the digits mean
An HS code is built left to right, from broad to specific. Take 6109.10 — the classic cotton t-shirt:
| Digits | Level | Example | What it says |
|---|---|---|---|
| First 2 | Chapter | 61 | Knitted or crocheted apparel |
| First 4 | Heading | 6109 | T-shirts, singlets and other vests |
| First 6 | Subheading | 6109.10 | …of cotton — this is the full international HS code |
| 7–10 | National extension | 6109.10.00… | Country-specific duty and statistics detail (the US, for example, splits men's and women's t-shirts here) |
The system is organized into 21 sections and 97 chapters, with more than 5,000 six-digit subheadings — enough to classify essentially anything that can be shipped. The first 6 digits are internationally standardized: 6109.10 means a cotton t-shirt in every country that uses the system. Everything after digit 6 belongs to the destination country.
HS vs HTS vs tariff code vs commodity code
These terms get used interchangeably, which causes most of the confusion. They're all the same family: one international core, many national extensions.
| Name | Digits | Where it's used |
|---|---|---|
| HS code | 6 | Worldwide — the shared international standard |
| HTS code (HTSUS) | 10 | United States, for imports |
| Schedule B | 10 | United States, for exports |
| CN code | 8 | European Union, for exports and statistics |
| TARIC code | 10 | European Union, for imports |
| Commodity code | 10 | United Kingdom (and as a generic term elsewhere) |
In every case the first 6 digits are the HS code. So when a carrier form asks for a "tariff code," a customs invoice asks for a "commodity code," and Shopify asks for an "HS code," they're asking for the same thing at different levels of precision — which is why the field accepts a range of lengths rather than one fixed format.
How many digits do you actually need?
Six is the international minimum, and for most cross-border e-commerce it's enough: the destination country's customs system can derive duty treatment from a correct 6-digit code, and carriers accept it on customs paperwork. Ten digits are more precise — but only if they're the destination country's ten digits. A common mistake is entering the 10-digit code your supplier uses for exports from their country; beyond the first 6 digits, that code means nothing to the country you're shipping to. A correct 6-digit code beats a wrong 10-digit one every time.
Shopify's HS code field accepts 6 to 10 digits — enter the digits without dots or spaces. If you ship overwhelmingly to one market (say, the US), using that market's full code is a reasonable upgrade; if you ship everywhere, the 6-digit international code is the honest, portable choice.
Who runs the system
The World Customs Organization maintains the HS and revises it roughly every five years — the current edition took effect in 2022. Revisions add, merge, or split subheadings as trade changes (recent editions added codes for things like drones and smartphones), which is one reason a code you set years ago is worth re-checking occasionally. National extensions are maintained by each country's own authority: the US International Trade Commission publishes the HTS, the EU maintains the Combined Nomenclature and TARIC, and so on.
Where HS codes live in Shopify
Shopify stores the HS code on each variant's inventory item — not as a normal product field. In the admin it's under the product's Shipping card, inside a Customs information subsection that only appears when the Physical product toggle is on, and is often collapsed by default. Two consequences of that placement: the standard product CSV has no column for it, and Shopify's product list has no way to show you which variants are missing one. The native bulk editor does have a Harmonized system code column, so you can type codes down a grid — once you know which products to select. Our guide to Shopify's customs information section covers the fields in detail, and the bulk HS code guide covers the three realistic ways to fill them in across a whole catalog — including scanning your store with Origova to find every variant that's missing a code and fixing them in batches.
How to find the right code for your product
Classification runs on official sources, and the good ones are free:
- US imports: the USITC's Harmonized Tariff Schedule search at hts.usitc.gov
- US exports: the Census Bureau's Schedule B search
- UK: the Trade Tariff tool on GOV.UK
- EU: the Access2Markets portal and TARIC database
- Precedents: US CBP's CROSS database of past classification rulings — useful when your product sits between two plausible codes
Start from what the product objectively is — its material, construction, and function — rather than searching for your marketing name for it. If you sell in one vertical, our category walkthroughs get you most of the way: clothing & apparel, jewelry, cosmetics & skincare, and candles.
Common mistakes worth avoiding
Copying the supplier's full code. Only the first 6 digits travel internationally; the rest belongs to the supplier's country. Trim to 6 unless you've verified the destination extension yourself. One code across a mixed catalog. Variations of the same product usually share a code — a t-shirt in five colors is one classification — but different product types never should. Guessing from a lookalike. Two products that look similar can classify differently because construction or material differs; that's exactly the trap in apparel, where knitted and woven versions of the "same" garment land in different chapters. Formatting. Publications print codes as 6109.10; Shopify wants plain digits, 6 to 10 of them — anything else gets flagged as invalid by customs-facing tools.
The short version
An HS code is how customs understands your product: 6 digits standardized worldwide, extended to 8–10 by each country. Classify from what the product objectively is, prefer a correct 6-digit code over a borrowed 10-digit one, and remember the code lives on each variant's inventory item in Shopify — where the native bulk tools can't reach it. Finding which of your products are missing codes is the part Shopify doesn't solve; that's the part Origova does.
Frequently asked questions
What is an HS code in simple terms?
An HS code is a standardized number that tells customs authorities what a product is. The first 6 digits mean the same thing in every country that uses the Harmonized System, which is how a parcel classified in one country can be understood — and have duties calculated — in another.
How many digits is an HS code?
The international HS code is 6 digits. Individual countries extend it to 8 or 10 digits for their own tariff and statistics purposes — US import codes (HTS) are 10 digits, for example. Shopify's HS code field accepts 6 to 10 digits.
What is the difference between an HS code and an HTS code?
HS is the international 6-digit system maintained by the World Customs Organization. HTS (Harmonized Tariff Schedule) is the United States' 10-digit import version: its first 6 digits are the HS code, and the last 4 are US-specific duty and statistical detail. Terms like tariff code and commodity code generally refer to a country's extended version of the HS code.
Are HS codes the same in every country?
The first 6 digits are, across the 200+ countries and territories that use the Harmonized System. Everything beyond 6 digits is national: a US 10-digit code, an EU 10-digit TARIC code, and a UK 10-digit commodity code can all differ even though they share the same first 6 digits.
Where do HS codes go in Shopify?
On each variant's inventory item. In the Shopify admin, open a product, scroll to the Shipping card, make sure the Physical product toggle is on, then expand the Customs information subsection — the HS code field is there, per variant. It isn't covered by Shopify's bulk editor or the standard product CSV.
Related: How to add HS codes to Shopify products in bulk · HS codes for clothing and apparel · Shopify customs information: what it is and how to bulk-edit it · De minimis is gone: the new customs reality