← Blog

What Is an HS Code? A Guide for Exporters and Importers

·11 min read

What is an HS code?

An HS code (Harmonized System code) is a standardized 6-digit number, developed and maintained by the World Customs Organization, used to classify traded goods the same way across more than 200 countries. Every product that crosses an international border, from ceramic mugs to industrial machinery, gets one of these codes. Customs authorities use it to set duty rates, apply trade regulations, and track trade statistics.

Think of it as a universal product label that every country's customs system can read, regardless of language. A "rear-view mirror" in English and its equivalent in French, Mandarin or Arabic all resolve to the same 6-digit code. Instead of relying on a written description that can be translated or interpreted differently, customs officers everywhere look at the same number and agree on what it means.

A few examples

HS codeProduct
851713Smartphones
100630Semi-milled or wholly milled rice
090111Coffee, not roasted, not decaffeinated
610910T-shirts, singlets and other vests, of cotton (knitted or crocheted)

Why the system exists

Before 1988, countries largely ran their own separate product classification systems, so the same shipment could be coded completely differently depending on where it landed. That turned customs paperwork into a translation exercise and made trade statistics nearly impossible to compare across borders. The World Customs Organization built the Harmonized System to fix exactly that: one shared 6-digit structure that every member country's national tariff system extends from. A customs officer anywhere can look at the first 6 digits and know precisely what category of goods they're looking at.

Why getting your HS code right matters beyond customs duty

Duty is the part everyone thinks about, but the code decides a lot more than a tariff rate. The same six digits also determine whether your product needs an import or export license, whether it's restricted or outright prohibited in the destination market, which government agency has to sign off before customs releases it, what certificates or supporting documents are required, whether the shipment qualifies for a lower rate under a trade agreement, and whether it's caught by an anti-dumping duty, a safeguard duty, or a quota.

Plenty of countries' customs portals show this directly: import and export policy conditions and participating government agency requirements listed right alongside the tariff line, because classification is the key to all of it, not just the duty calculation.

That also makes classification a commercial decision, not just a paperwork one. Two products that look nearly identical can sit under different subheadings and attract very different duty rates, and duty is part of landed cost: what your buyer actually pays once the shipment clears. Get the classification wrong, even honestly, and you've either quoted a price that doesn't hold up once the real duty lands, or paid more than the product should have cost to import.

How an HS code is built

Diagram breaking down HS code 851713 (smartphones) into chapter, heading, subheading and country-specific extra digits.
The universal 6 digits, broken down. Digits after that are set by the destination country, not the WCO.

An HS code isn't one random number. It's built in layers, and each layer narrows the product down further. Take any product, and the world agrees on the same 6 digits for it: chapter, heading, and subheading. Some countries stop there. Most add more digits on top for their own tariff and reporting needs, but those extra digits are a national add-on, not part of the global code itself.

TermWhat it means
ChapterThe broad category the product belongs to: electronics, textiles, cereals, and so on.
HeadingA narrower group inside that chapter. Within electronics, this might mean telephone equipment specifically.
SubheadingThe most specific identity the global system gives. This is where "telephone equipment" becomes "smartphones."
Extra digits (country-specific)Added by each destination country on top of the 6-digit code, to set the exact tariff line used to calculate duties.

Put the first three together (chapter, heading, subheading) and that's the complete 6-digit HS code: the same for a smartphone shipped from Vietnam to Germany as it is for one shipped from South Korea to Brazil. The fourth piece, the extra digits, is where countries diverge.

How classification actually works in practice

Knowing that a code has three parts doesn't tell you how to land on the right one. In practice, classification works from the product's material, function, composition and technical specification, roughly in that order, and it asks what the item actually is and does, not what it's called on the invoice.

Take a Bluetooth-enabled, rechargeable LED desk lamp. Is that a lamp? A piece of lighting equipment? An electrical appliance? A battery-powered device? A "smart" device because it pairs with an app? Each reading points at a different heading, and this is exactly where classification gets hard.

The Harmonized System has a formal method for resolving cases like this, the General Rules of Interpretation, which work from the product's essential character rather than any one feature in isolation. A desk lamp is fundamentally a lighting fixture that happens to have Bluetooth and a battery, not a Bluetooth device that happens to produce light, and that's what makes the call defensible rather than a guess.

A shipment that actually got stuck over this

A garment exporter in Tiruppur ships a container of cotton T-shirts to a buyer in Rotterdam every month: same product, same paperwork template, copied from the last invoice each time. One month, someone updates the template using a code copied off a US customs site, a 10-digit HTS code found while checking something unrelated. It goes out on the EU shipping documents without anyone noticing the swap. The first 6 digits are identical, so at a glance nothing looks wrong.

The container reaches Rotterdam. EU customs checks the declared code against their own Combined Nomenclature, and the digits past position 6 don't resolve to anything valid. That tail belongs to a different country's tariff structure. The shipment is flagged for manual review. The buyer starts calling, asking why an order that normally clears in a day is sitting in a bonded warehouse. Three days pass before the paperwork is corrected and resubmitted. The exporter eats the demurrage charges, the buyer's own retail deadline slips, and the product itself, plain cotton T-shirts, about as unremarkable a shipment as exists, was never the problem.

Four extra digits, borrowed from the wrong country. Three days and a change fee.

— What one copy-paste cost a Tiruppur exporter

If you discover your HS code is wrong

Finding the mistake after a shipment has already gone out isn't a reason to panic, but it is a reason to act.

  1. Don't ignore the discrepancy. An unresolved wrong code tends to resurface at the worst moment: the next audit, or the next shipment customs decides to compare against this one.
  2. Check the applicable tariff schedule again, for the destination country specifically, not just the universal 6-digit code.
  3. Compare the product's actual description and technical specification against what the classification implies. This is usually where the mismatch turns out to be.
  4. Contact your customs broker or freight forwarder. They've usually seen this exact failure mode before and know whether it's fixable on this shipment.
  5. Find out whether an amendment to the existing declaration is possible, versus needing a fresh filing.
  6. For anything genuinely ambiguous, ask the destination customs authority for a ruling or written clarification rather than guessing again.

How to find your product's HS code

Start with the source, not a guess: the World Customs Organization publishes the Harmonized System nomenclature, and your destination country's own customs authority publishes the national tariff schedule that adds digits on top of it, whether that's the Harmonized Tariff Schedule the US International Trade Commission runs, the EU's TARIC database, or your own country's equivalent. Search by what the product does and is made of, not its trade name, and check the description against the real subheading text before you commit to anything.

Working through official tariff schedules by hand is slow, and it's easy to get the extra digits wrong even when the first six are right, which is exactly the mistake that stalled the shipment earlier in this piece. Impactex checks your HS code suggestion against the official WCO schedule as you build the document, inside the same workflow you already use to generate an invoice or shipping bill.

Sign up, add a product, and you'll see a suggested classification before it ever reaches a customs officer. It's a suggestion verified against the official schedule, not a customs ruling, so anything genuinely ambiguous is still worth confirming with the destination authority. Try the free HS code lookup tool to see it in action, or browse the rest of the Impactex blog.

Frequently asked questions

Is an HS code the same in every country?

The first six digits are universal under the World Customs Organization's Harmonized System. Countries then add their own extra digits for national tariff and reporting purposes, and those extra digits are not interchangeable between countries.

How many digits does an HS code have?

Six, universally. The World Customs Organization's Harmonized System stops at six digits; anything beyond that is a national extension each destination country adds on its own tariff schedule, not part of the global code.

Can an HS code change over time?

Yes. The WCO revises the Harmonized System periodically, and countries update their own tariff schedules even more often. A code that was correct two years ago isn't guaranteed to be correct today, so it's worth re-verifying rather than reusing an old one indefinitely.

Who is responsible for assigning an HS code to a product?

Generally, the exporter, importer, or their customs declarant, depending on the jurisdiction and the transaction. There's no single authority that hands you a code up front: you classify your own goods against the Harmonized System nomenclature and your destination country's tariff schedule, and customs retains the right to review or challenge that classification afterward.

What happens if I use the wrong HS code?

Customs may flag the shipment for manual review, delaying clearance and adding demurrage costs. Depending on the error, you may also face duty reassessment or penalties, even if the mistake was unintentional.

Do I need a different HS code for every country I ship to?

No. The first six digits stay the same everywhere. What changes is the national extension beyond those six digits, which you need to check separately for each destination country.

Does Impactex assign HS codes for me automatically?

Impactex suggests a classification and checks it against the official WCO schedule as you build a document, but it's a suggestion, not an automatic assignment or a customs ruling. You still confirm anything genuinely ambiguous, the same as you would with a customs broker.

Does Impactex go beyond the global 6 digits to the national tariff line?

Yes, for the markets it supports. Impactex resolves the additional digits a destination country's own customs authority adds on top of the 6-digit global code, so what you get is the full code your shipping document actually needs, not just the universal portion.

Is an HS code suggestion the same as a customs ruling?

No. It's a suggestion checked against the official WCO schedule, meant to catch an obvious mismatch before it reaches a customs officer. For a genuinely ambiguous product, only the destination customs authority can issue a binding ruling.

Get Started

Trade documentation,
simplified.

Impactex turns proforma invoices, packing lists, certificates of origin and every other export document into one fast, AI-assisted workspace — with HS codes checked as you go.

No credit card required · Setup in 2 minutes · Cancel anytime