Here in the UK, IKEA sells “Student Boxes”, a bundle of student essentials consists of a dozen items. On those bundles are a big data matrix 2D barcode, with the barcode to the container itself marked out by a marker.

The big data matrix reads:

9100005240802984743012405013758130124060143992301240601439923012408707770030124050525642301240502583233012405025832330124000081534301240902022683012400034300330124080258915301240802589153012400031894230124000318942301240302589133012403025891330124030407814301240402784683012403010297430124070455087301240005452183012403052193730124060521945301

Putting this text in a text-wrapping editor and resize the window a bit, reveals the format:

9100005 : header indicating a multi item barcode sequence

then for each item:
240     : begin item code
xxxxxxxx: item code (Most IKEA item codes are 8 digits)
310     : end item code

It is a very simple format, and allows a layer of abstraction so that:

  • Instead of one item, each item can show up separately on the receipt, allowing for easy returns
  • the global item database does not need to know each individual bundle, meaning each region can easily create a bundle

This also means, it is technically possible to craft a data matrix barcode so that, upon scanning, 100 bags of meatballs are added to the cart. Please do not do this.

A plastic container is labeled with "Student box" and a Data Matrix 2D barcode, with the IKEA logo visible. &10;&10;Alt text generated by AI, double checked and edited by a human (hi). &10;