Skip to content

Product Taxonomies (GPC, UNSPSC) for Object Labels

By Noah Loul · Reviewed by Noah Loul · Updated

  1. 01Your data spec
  2. 02Matched to businesses
  3. 03Rights and samples reviewed
  4. 04Licensed delivery
How it works with SourceX: Your data spec → Matched to businesses → Rights and samples reviewed → Licensed delivery.Illustrative

Short answer

GS1 GPC and UNSPSC are public product classification systems, each organized as a four-level hierarchy of eight-digit codes. Using one as the label hierarchy for product images avoids inventing a category set and helps align data from different suppliers. Neither describes how a product behaves when handled, so manipulation attributes must be specified separately.

The labeling problem this solves

Buyers of product images often receive labels in whatever scheme each supplier uses: one retailer's department tree, one distributor's catalog sections, one annotation vendor's ad hoc list. Merging them later means guessing whether "cleaning supplies" in one set matches "janitorial" in another. A team that invents its own label set faces the same issue the next time it adds a source.

Public classification systems offer a shared vocabulary. If every supplier maps its items to the same hierarchy, you can compare coverage, balance classes and build held-out splits by category. This page covers two widely used public systems and what they do not do. For the broader sourcing of product data see product catalog data for robot perception.

The two systems

GS1 describes the Global Product Classification as a rules-based, four-tier system for grouping products: Segment, Family, Class and Brick, with attributes and attribute values below the Brick. A Brick groups products identified by GTINs that serve a common purpose, are of similar form and material, and share the same category attributes. Codes are eight-digit non-negative integers, and only one brick can be assigned to a GTIN (GS1).

UNSPSC is described on its official site as an open, global, multi-sector standard for classifying products and services, free to browse and download. Its eight-digit codes span four levels, Segment, Family, Class and Commodity, with an optional two-digit business-function level. It was jointly developed by UNDP and Dun & Bradstreet in 1998; GS1 US managed it from May 2003 until 31 December 2024, after which management reverted to UNDP (UNDP).

FeatureGS1 GPCUNSPSC
LevelsSegment, Family, Class, BrickSegment, Family, Class, Commodity
Code lengthEight digitsEight digits, plus optional two-digit business function
Attributes below the lowest levelYes: attributes and attribute valuesCheck current documentation
OriginGS1UNDP and Dun & Bradstreet, 1998
ScopeProducts identified by GTINsProducts and services across sectors
Access termsConfirm with GS1Described as free to browse and download

The access row is a caution, not a conclusion. Terms for using, redistributing or embedding a taxonomy in a delivered dataset are the owner's to state. A buyer who plans to ship labels with code names and descriptions should confirm what each owner's terms permit. This is not legal advice.

Choosing between them

Use the one that most of your sources already carry. Retail and consumer goods data often sits closer to GTIN-based systems; procurement and industrial distributor data often carries purchasing categories. If your suppliers use different systems, ask for a mapping rather than forcing re-labeling from scratch. See industrial distributor catalogs for the procurement side.

A key distinction is granularity. A category node at Class or Brick level groups products of similar purpose; it does not distinguish two similar SKUs from different brands, which is an instance-level question; see instance vs category recognition. Choose the level at which your model needs to discriminate, and state it in the specification.

Illustrative label mapping

The table below is an Illustrative mapping sheet with synthetic placeholders. It shows the shape of a deliverable, not real codes.

Supplier item IDSupplier category textMapped GPC brickMapped UNSPSC commodityMapping basis
item_00041"Dish soap, 500 ml" (synthetic)(8-digit brick code)(8-digit commodity code)Supplier-provided
item_00042"Glove, nitrile, box" (synthetic)(8-digit brick code)(8-digit commodity code)Annotator-assigned, reviewed
item_00043"Fastener assortment" (synthetic)(8-digit brick code)(8-digit commodity code)Unmapped, flagged

Record who assigned each mapping and how it was reviewed. Because only one brick can be assigned to a GTIN, a product that spans categories, such as a kit, forces a choice that should be documented; see kits and multi-part products.

What a taxonomy gives you, and how to use it

A category hierarchy supports balanced sampling, per-category evaluation, and held-out splits by product family. It also gives annotators a fixed list instead of free text. Linking the hierarchy to a supplier's object attribute schema lets one record carry both "what it is" and "what it is like."

For long-tail coverage, count how many items fall in each node and look for empty or thin ones; the discussion in long-tail object coverage shows why that matters. If the supplier's master data is messy, run the checks in the product master data quality audit before relying on its categories.

What a taxonomy cannot support

A classification code says what a product is grouped as, not how it behaves in a hand. It carries no weight, fragility, deformability, grasp points, friction or opening mechanism. Two items in the same node can differ completely in how they must be picked. Physical properties need their own annotations (see physical property annotations), and manipulation needs demonstration data collected on a robot or through teleoperation; recognition labels alone do not train control. See object recognition data vs manipulation training data.

Taxonomies also lag the market. New product types may not fit existing nodes, categories are revised over time, and code assignments made by suppliers can be inconsistent. Mappings between systems are approximate, not one-to-one. Keep the original supplier category alongside the mapped one, and record the taxonomy version used.

Pitfalls to avoid

  • Assigning categories at a level too coarse to separate objects your model must tell apart.
  • Mixing taxonomy versions in one dataset without recording which applies.
  • Treating a supplier's category as ground truth without sampling it.
  • Forcing every item into a node when none fits, instead of marking it unmapped.
  • Shipping code descriptions without checking what the owner's terms allow.

Questions to ask suppliers

  1. Which classification system, if any, does your catalog use, and which version?
  2. Who assigned the codes: the manufacturer, your team, or an annotator, and was it reviewed?
  3. At what level are items classified, and how often are items left unmapped?
  4. Can you provide a crosswalk to the other system, and how was it made?
  5. Are GTINs or other identifiers present so that mappings can be checked?
  6. How do you classify kits, bundles and multi-pack items?
  7. Do you retain your own category text alongside the standard code?
  8. Are there restrictions on delivering code names and descriptions inside a dataset?

Discuss your requirements

If you are specifying object labels for product data, describe the categories, taxonomy and permitted uses to SourceX. SourceX looks for US businesses that may hold suitable product data, checks the data and the supplier's licensing permissions, and coordinates the license and delivery. A request does not guarantee a match; SourceX reviews the requirement and follows up about potential sources. Start from the humanoid training data guide or the product and object data hub, and see the catalog page on product catalogs and descriptions.

Discuss your humanoid training-data requirements with SourceX

Sources

Frequently asked questions

What are GS1 GPC and UNSPSC, and how are their codes structured for product labels?

GS1 GPC and UNSPSC are public product classification systems, each organized as a four-level hierarchy of eight-digit codes. Using one as the label hierarchy avoids inventing a category set and helps align data from different suppliers.

What does a classification code leave out for a robot that must handle a product?

A classification code says what a product is grouped as, not how it behaves in a hand. It carries no weight, fragility, deformability, grasp points, friction or opening mechanism, so those attributes must be specified separately.

What should a buyer check before shipping taxonomy code names inside a dataset?

Terms for using, redistributing or embedding a taxonomy in a delivered dataset are the owner's to state. Keep the original supplier category beside the mapped one and record the taxonomy version, since mappings between systems are approximate.

Describe the data your robots need

Describe the tasks, modalities and permitted uses you need. SourceX reviews the requirement and follows up about potential sources; a request does not guarantee a match.

Discuss your humanoid training-data requirements with SourceX
See if you qualify