If you ship internationally, every parcel needs an HS code. It's the most important (and most misunderstood) number on a customs declaration. Here's how to read it, why a wrong one gets your shipment held, and how to find the right one fast.
Quick answer
An HS code is a 6-digit number that classifies what you're shipping for customs worldwide. Right code: your parcel clears. Wrong code: it can be held, taxed incorrectly, or returned. The 6 digits read left to right: chapter → heading → subheading.
What an HS code is
HS stands for Harmonized System, maintained by the World Customs Organization and used by 200+ countries. The first 6 digits are identical everywhere in the world. Each country then adds 2–4 more digits for its own tariff schedule (Canada uses 10-digit codes for imports). For most outbound shipments, the 6-digit code is what you declare.
Reading the 6 digits
Take 6109.10 (cotton T-shirts):
• 61 = the chapter: articles of apparel, knitted or crocheted.
• 6109 = the heading: T-shirts and singlets, knitted.
• 6109.10 = the subheading: of cotton.
Each pair of digits narrows the category: you move from broad to specific. Change the material (say, polyester) and the subheading changes: 6109.90 instead of 6109.10, and the duty can change with it.
Why a wrong code holds your parcel
Contrary to common belief, it's almost never the description that fails a declaration. It's the code. A wrong HS code causes:
• Miscalculated duties or taxes: the recipient gets a surprise bill, or the parcel is held until it's paid.
• Mis-categorized goods: flagged for inspection, which adds days.
• A controlled product mis-declared: risk of seizure.
For an SMB, every held parcel is an unhappy customer and often a return. The HS code is exactly where the smoothness of a cross-border shipment is won or lost.
Finding the right code
Three approaches, most reliable to most risky:
• The official tariff schedule (the CBSA Customs Tariff in Canada): accurate, but dense and slow to search.
• Carrier tools: handy, but often limited to a single carrier.
• Guessing: common, and exactly what leads to held parcels.
The fast way: let SmartScan do it
SmartScan reads a photo of your item and returns the 6-digit HS code, with a confidence rating and an audit trail explaining which chapter and heading it chose, and which it rejected. You see the why, not just the code, and you stay in control: confirm or adjust before you submit.
And because we're a multi-carrier platform, it works across every carrier we support: Canada Post, UPS, FedEx, Purolator, and more. Built in Laval. Free signup, no volume commitments. Try SmartScan and declare the right code the first time.
