The guide · CLP Annex VIII
How to create a UFI
Two numbers go in, one 16-character code comes out. Getting the code right is less about the generator itself — it is a free ECHA tool that does one job — and almost entirely about getting the two inputs right before you touch it.
Our page on what a UFI is covers what the code links to and why it exists; this page is the practical side — the two inputs the generator needs, and the mistakes that produce a code which looks fine but points at the wrong thing.
What you need: a VAT number and a formulation number
The first input is your own company's VAT number — specifically the VAT number of the legal entity that is placing the mixture on the EU market, not a customer's, an agent's, or a parent company's if a subsidiary is the one selling. Get this wrong and every UFI you generate is still a valid-looking code, it just belongs to the wrong company as far as a poison centre is concerned.
The second input is a formulation number, and this one you choose yourself. It is not issued by ECHA and it does not have to mean anything outside your own records — it only has to satisfy the format rule below and, critically, be unique to one specific composition within your company. Some companies use a running counter, others tie it to an existing product-management system; either works as long as the mapping from number to composition never gets ambiguous.
The formulation number format
The formulation number has to be a plain integer between 0 and 268,435,455. If the codes your product-management system already uses for a formulation happen to fall in that range and contain no letters, you can feed them into the generator as they are. Most companies are not that lucky: internal codes are commonly alphanumeric, or include a plant prefix, a hyphen, or a revision letter, and none of that will pass through the generator unchanged.
Where that is the case, the practical fix is to keep a mapping table rather than trying to force the existing code into a numeric shape. Assign a plain in-range number to each composition purely for UFI purposes, and record which internal formulation code it corresponds to. The generator only ever sees the number; your team is the one that has to be able to trace it back to the product.
The company key alternative
Not every company placing a mixture on the EU market holds an EU VAT number — a non-EU manufacturer selling through arrangements that do not require one is the case that comes up most often. For that situation ECHA issues a company key: a substitute identifier requested directly from ECHA that slots into the same field a VAT number would otherwise occupy. It exists purely so that a company without a VAT number is not locked out of generating a valid UFI, not as a general-purpose alternative to registering one.
Creating UFIs in bulk
Generating one code at a time in a browser works for a company launching a handful of products a year. It stops working once a portfolio runs into dozens or hundreds of formulations, particularly around a reformulation cycle that retires several UFIs at once. For that volume, the generator accepts a file listing the formulation numbers to process together, rather than one request per page load — and a company running enough SKUs to make even that impractical can build the published generation logic into its own product-data system instead of touching the ECHA tool at all.
Never reuse a formulation number for a different composition
A formulation number, once used, is retired for that composition and cannot be handed to a different one. The generator will not stop you from doing this — feeding it the same VAT number and a formulation number you already used for something else produces a code that looks perfectly valid, and that is exactly the danger. Reusing a number this way silently redirects an existing UFI to a formulation it no longer describes, which is the failure mode the whole system exists to prevent. If a composition has actually changed, the correct response is a new formulation number and a new UFI, not a shortcut through an old one — see our decision rules for telling a composition change from an ordinary update.
Where the UFI Generator lives
The tool itself sits on ECHA's Poison Centres website, is free to use, and does not require the company key or VAT number to be pre-registered anywhere before you use it — you simply enter the values and the generator returns the code. What it does not do is check whether the formulation number you entered is actually new, whether the composition behind it matches what you will declare in the dossier, or where the resulting code needs to appear once you have it. That last part — placement, format and the mandatory prefix — is covered on our UFI label page, and it is worth reading before the code goes anywhere near artwork.
Next step
Generating UFIs for a whole product range?
We assign formulation numbers, generate the codes and build the dossiers behind them in one pass, so nothing gets reused by accident.