Home > Projects > UUID – A Standardized Way of Identifying Food Objects

The basic need of the world of food is to have an ID system that will make it possible to identify unique food items, be they products or ingredients, down to a very granular level. Current systems, while doing a good job for the current food industry, fails to deliver on fundamentals such as ”close to zero cost” (enabling _all_ participants in the food system to benefit from data layers), ”open” (making it possible to innovate on top of data) and ”scope” (potentially identify every grain of rice – or the individual molecules of micronutrients).

We are not saying that we will name individual molecules tomorrow, but when discussing standards that factor in advances in sensor data, AI processing and nano technology, any attempt of creating a standard needs to be open-minded and focus on the basics. How can we enable a good use of the advances in fields such as the ones above?

Why is this at all needed? We usher in a time of great upheaval in the world of food. Not until now has it been possible in an easy way to understand and measure individuals as biological entities. The quantified self lets us understand who we are. In this Special Interest Group we talk about the ”personal stack” for lack of a better term. We have our DNA, our physical and mental status and everything around us that affects our biological existence. Such as the food we eat, which happens to be the number one factor building us into smart and fast individuals, or into something else. But where we have started to measure everything about ourselves, we have barely touched understanding food and what it does to us. The true potential of ”quantified food” is yet untapped, but it holds the promise of a new revolution in the same scale as book printing, electricity or the Internet itself.

To us, this new leap requires digital standards to cater to the digital aspects of food. We should be able to trace food, understand how it was produced, what it contains, how it has fared during its shelf-life and be able to predict based on data and knowledge what it is expected to do for us. In short, standards that make it possible to handle the digital aspects of food.

The first such standard we are looking at is to be able to give individual food objects an ID. We have settled for a so-called universally unique identifier (UUID) as our working hypothesis. Without such an ID, all other attempts to handle core challenges in the world of digital food components will be infinitely harder.

So, what is a UUID? Let’s cut and paste from Wikipedia:


universally unique identifier (UUID) is a 128-bit number used to identify information in computer systems. Microsoft uses the term globally unique identifier (GUID), either as a synonym for UUID or to refer to a particular UUID variant.

When generated according to the standard methods, UUIDs are for practical purposes unique, without requiring a central registration authority or coordination between the parties generating them. The probability that a UUID will be duplicated is not zero, but is so close to zero as to be negligible.

Thus, anyone can create a UUID and use it to identify something with near certainty that the identifier does not duplicate one that has already been created to identify something else, and will not be duplicated in the future. Information labeled with UUIDs by independent parties can therefore be later combined into a single database, or transmitted on the same channel, without needing to resolve conflicts between identifiers.

Adoption of UUIDs and GUIDs is widespread, with many computing platforms providing support for generating them, and for parsing their textual representation.


There is of course a lot to say about UUIDs. There are for instance several ways of producing them, methods for including various pieces of information, etc. The main point is however that it is virtually impossible to produce the same UUID twice. Or to quote Wikipedia:

”…for there to be a one in a billion chance of duplication, 103 trillion version 4 UUIDs must be generated.”

For the sake of argument, let’s compare to some real life facts. Rice is the world’s largest crop, contributing some 20% of the dietary energy for man. The yearly harvest of rice is estimated at 750 million metric tonnes. In every kilo of rice there are som 40,000 grains. In total, that means we produce 3e16 grains of rice each year. Which is really small compared to the number of atoms in the observable universe, estimated to be between 4×10e79 and 4×10e81. Which in turn is totally dwarfed by the total number of version 4 UUIDs: 2e122.

The beauty of using a UUID as a standard for naming food objects is of course that it already is a standard, which means that the implementation is more about understanding how the various layers around a UUID can get practically implemented – and (the hard part) to have everyone come around to using it.

The next step will be a combination of understanding which UUID to use (there are several different ways of generating them) and how they will affect the various layers of data.

It also remains to understand how (if) to build a namespace around the UUID, something called a Uniform Resource Name (URN).

For those of you who want to play around with UUIDs, one such generator has been set up by the International Telecommunications Union (ITU) and can be found here.