How-to 7 min read

How to Search an HSN Code on the GST Portal

Finding the right HSN or SAC code by description or by code, and how to sanity-check the result before you put it on an invoice.

Written and reviewed by the GSTIN API team Last reviewed

To search an HSN code, use the GST portal's Search HSN Code utility at gst.gov.in, under Services → User Services → Search HSN Code. It is available without logging in, it takes either a code or a product description, and it returns the codes that match along with the description notified against them.

That is the easy half. The harder and more important half is knowing what to do with the answer — because the search box is a lookup over the notified schedules, not a decision about your product. This page covers how to run the search properly, how description search differs from code search, and how to confirm a candidate code against the CBIC tariff before it goes anywhere near your invoices.

Where the Search HSN Code utility lives

The GST portal groups its public lookups under Services → User Services. Search HSN Code sits there alongside the other pre-login utilities such as Search Taxpayer. Pre-login matters more than it sounds: it means anyone in your team — a purchase executive checking a supplier's invoice, a developer building an item master, an auditor sampling a catalogue — can use it without a GSTIN or a login, and it means the utility can be used to check a code on someone else's invoice, not just your own.

The same classification data surfaces in a few other government places, and they are not interchangeable. Knowing which one you are looking at saves a lot of confusion when two of them appear to disagree.

SourceBest forAuthority
GST portal — Search HSN Code Quick lookup of a code or a description while you are already on the portal. Convenience layer over the notified schedules.
CBIC GST rate finder Finding the code together with the rate notified against it. Published by the department; still a finder, not the notification itself.
CBIC rate notifications and tariff schedules Settling what a heading actually covers and what rate attaches to it. Authoritative. This is the legal text.
Customs tariff (section and chapter notes, General Rules for Interpretation) Resolving borderline classification — exclusions, composite goods, parts and accessories. Authoritative for how the nomenclature is read.
Third-party HSN lists and blog tables Orientation and search. Nothing else. None. Frequently stale, especially on rates.
Where HSN and SAC data is published, and what each source is actually for.

How to search an HSN code, step by step

  1. Open Services → User Services → Search HSN Code on gst.gov.in. No login is required. If you are already logged in, the same utility is reachable from the dashboard's Services menu.
  2. Pick goods or services. HSN classifies goods; SAC classifies services and always begins with 99. If you find yourself scrolling past service headings while looking for a physical product, you are on the wrong side of the switch. The services side is covered separately in our SAC code guide.
  3. Enter a code or a description. Enter a code if you have one and want to know what it covers. Enter a description if you are starting from the product. Do not do both half-heartedly — a partial code plus a vague description tends to return either nothing or everything.
  4. Set the effective date, where the utility asks for one. Classification and rate data is versioned by date. If the screen exposes an effective-period or date field, set it to the date of the supply you are classifying rather than leaving it at today, particularly for anything that straddles the September 2025 rate change.
  5. Treat the result set as a shortlist. Read every returned description, not just the first. Adjacent codes routinely differ on one physical attribute — knitted versus woven, cotton versus synthetic, fresh versus preserved — and the search engine has no idea which of those applies to your product.
  6. Confirm against CBIC before you commit the code. Open the relevant chapter on cbic-gst.gov.in, read the section and chapter notes, and check the current rate notification against the code you have chosen.

Searching by description vs searching by code

These are two different tasks and they deserve different habits.

Searching by code

This is the safer of the two, because you are asking a closed question: what does this code cover? Use it whenever a code arrives from outside your business — on a supplier invoice, in a customer's purchase order, in a data feed from a marketplace. You are checking that the description notified against the code is plausibly the goods you are actually dealing in.

Search at the level you have. If you only have four digits, search four; the utility will show you the heading and you can work down. Do not pad a four-digit heading with zeros to make it look like eight digits — 6109 and 61090000 are not the same claim, and a padded code that happens to be invalid will fail validation in your GSTR-1 HSN summary later.

Searching by description

This is the harder one, because you are asking an open question and the search can only match words. The tariff describes goods by what they physically are. Your product catalogue almost certainly describes them by what they are for and who they are for. Translating between the two is the actual skill.

How the catalogue says itWhat the tariff needs to know
Premium athleisure topApparel; knitted or woven; fibre (cotton, synthetic, blend); garment type (T-shirt, vest, pullover)
Artisanal cold-pressed oilWhich oilseed; crude or refined; edible or industrial; packing
Smart home hubFunction performed; whether it is a transmission/reception apparatus, an automatic data processing machine, or a control apparatus
Eco-friendly packagingMaterial (paper, plastic, jute); form (carton, sack, film); whether printed
Industrial spare partWhat the part is made of and which machine it is for — parts are often classified by dedicated headings or by section notes, not with the parent machine
Rewriting a commercial description into terms the tariff can match.

A practical trick: search the single most distinctive physical noun first — "polypropylene", "jute", "casein", "brake lining" — and read the headings that come back to learn the vocabulary the tariff uses for your product family. Then search again using that vocabulary. Two searches with the tariff's own words beat ten searches with yours.

Reading what the search gives you back

A result row gives you a code, the description notified against it, and — depending on the utility and how you reached it — a rate. Three things to be deliberate about.

  • Digit depth is not the same as your invoice requirement. The search will often return eight digits because that is how the tariff is structured. How many of those you must print is set by Notification 78/2020-Central Tax and keyed to your aggregate annual turnover — 4 digits up to ₹5 crore, 6 above it, 8 for exports and notified chemicals. The full digit rules are in our HSN code explainer.
  • The description is legal text, not a product name. Words like "other", "not elsewhere specified", "of a kind used for" and "whether or not" carry weight. A heading that ends in "— other" is a residual line: you land there only when nothing more specific fits, and landing there by default rather than by reasoning is a classic error.
  • A displayed rate has an effective date. Rates are notified as of a date and change by notification. A rate you saw six months ago against the same code may simply no longer be the rate.

The CBIC tariff is the authority, not the search box

The Harmonized System is a legal nomenclature, not a directory. Its structure — sections, chapters, headings, subheadings — is read together with two things the search box does not show you: the section and chapter notes, and the General Rules for the Interpretation of the tariff.

The notes are where the surprises live. They routinely exclude goods that a plain reading of a chapter title would obviously include, and redirect them to a chapter you would never have searched. The interpretive rules then govern the ordering questions: what to do when two headings each describe part of your product, how to treat sets put up for retail sale, how to treat incomplete or unassembled articles, and when a residual "other" line is permissible. A search result is a hit against a description string. It has not applied any of that.

This is also why chapter-level shortcuts fail. A chapter does not have a rate — items inside one chapter routinely sit at different rates, so you cannot classify at two digits and infer the rest. The rate notification attaches to headings, subheadings and tariff items, and occasionally to a description carved out within one of them.

Why a search result is a starting point, not a ruling

Nothing on the GST portal determines your classification. The utility does not know what your product is; it knows what you typed. If you type an imprecise description and accept the first plausible row, you have not classified anything — you have taken a guess and given it the appearance of authority by having found it on a government website.

The only mechanism that produces a binding answer is an advance ruling. Section 97 of the CGST Act allows an applicant to seek a ruling from the Authority for Advance Ruling on questions including the classification of goods or services, on an application in Form GST ARA-01. A ruling binds the applicant and the jurisdictional officers in relation to that applicant, and it is worth the cost whenever the difference between two plausible codes is a rate difference applied across meaningful volume.

Between "portal search" and "advance ruling" sits the ordinary middle ground: a written classification note from a professional, recording the product's physical characteristics, the headings considered, the notes and rules applied, and why the chosen code won. That file is what you will want three years later when someone asks why the item master says what it says. Classification errors are cheap to fix at the item master and expensive to fix at assessment.

Validating a code against the current rate notification

Once the search has given you a candidate, run it through a short validation before it becomes the code your business uses.

  1. Confirm the code exists at the depth you are using it. Not every four-digit heading has the six- or eight-digit child you assume it does. If your system is going to report six digits, verify the six-digit subheading is a real line in the schedule.
  2. Read the chapter notes for that chapter and the section notes above it. Look specifically for exclusions. If a note pushes your product elsewhere, the search hit is simply wrong, however well the words matched.
  3. Check the rate against the current notification, with its effective date. The question is not "what rate does a table say" but "which notification is in force for the date of my supply, and what does it say against this code".
  4. Cross-check against a real invoice. What code does your supplier of the same goods use? What do your competitors use? Not decisive, but a systematic divergence from the trade is worth understanding before, rather than after, an audit raises it.
  5. Write the code into the item master, not into individual invoices. A code entered by hand per invoice is a code that will drift. Master data is also what your GSTR-1 HSN summary is reconciled against.
  6. Diarise a re-check. Rates change by notification and classifications occasionally get amended. A periodic HSN and rate audit belongs on your GST compliance checklist rather than being a one-off exercise.

Where HSN searches usually go wrong

The failure modes are predictable, and almost all of them come from treating the search as an oracle.

  • Searching the brand or the use case. The tariff does not know your product name, your category page, or the problem your product solves. It knows materials, processes and forms.
  • Stopping at the first result. The first row is the best string match, not the best classification. Read the neighbours; the correct code is very often one line away.
  • Defaulting into "other". Residual entries exist for goods that genuinely fit nowhere more specific. Reaching for one because the specific headings are hard to read is how a whole product line ends up misclassified.
  • Reusing a code across a range. One code for "all our shirts" breaks the moment the range includes both knitted and woven, or both cotton and blends. A mixed-rate catalogue under a single code is a reconciliation problem waiting to happen.
  • Copying a code from a customer's PO. Your customer classified it for their purposes, possibly wrongly, and they are not the supplier. The classification obligation on an outward supply is yours.
  • Trusting a downloaded rate list. Anything published before 22 September 2025 with a rate column against HSN codes should be assumed wrong until checked. That includes lists on otherwise reputable sites — and it includes any table on this one.

Do the search, then do the reading. The utility is genuinely useful for narrowing ninety-nine codes to three; it was never built to pick the one.

Frequently asked questions

Go to gst.gov.in, open Services → User Services → Search HSN Code, choose whether you are looking for goods (HSN) or services (SAC), and type either a code or a product description into the search box. The utility returns matching codes with their notified descriptions. You do not need to log in to use it.
Yes, but the search matches against the wording used in the tariff schedule, not against how you market the product. Describe the item physically — what it is made of and how it was made — rather than commercially. "Knitted cotton T-shirt" will find a code; "premium athleisure top" will not.
No. The search utility is a convenience layer over the notified schedules and is not a determination of your classification. Only an advance ruling obtained under section 97 of the CGST Act binds the applicant and the department. For a genuinely borderline product, treat the search result as a candidate and get the classification confirmed.
The most common reason in 2026 is that you are looking at a pre-reform figure. The rate rationalisation effective 22 September 2025 moved a very large number of items between slabs, so any list, cached page or rate master that has not been refreshed since then can show a stale rate. Always confirm against the current notification on cbic-gst.gov.in.
The same utility on the GST portal covers service classification codes. Switch the search to services and search by description or code. SAC codes always begin with 99, so a result that starts with any other digits is a goods code and not what you want.
That depends on your aggregate annual turnover in the preceding financial year, not on how many digits the search returns. Notification 78/2020-Central Tax sets 4 digits up to ₹5 crore AATO and 6 digits above it, with 8 digits for exports and certain notified chemical products. Search results often show 8 digits regardless.

A note on accuracy. GST rules change often. This article reflects our understanding as of 4 September 2026 and is general information, not tax or legal advice. For the authoritative position, check gst.gov.in and cbic-gst.gov.in, or speak to a qualified tax professional about your specific situation.

Check a GSTIN right now, free

Five lookups a day, no account required. Status, filing history, e-invoicing and jurisdiction.

Free GST search tool

Build it into your product

One REST call, JSON back. Get an API key and 20 free verification credits in under a minute.

Start free