Home › GHS / CLP Label Software

GHS / CLP Label Software: Chemical Hazard Label Maker

Building a chemical hazard label by hand is slow and error-prone: pick the right pictograms, work out which signal word wins, get every hazard and precautionary statement translated correctly, and then size the whole thing to the package. LabelInn's GHS / CLP label engine does the heavy lifting from structured data.

You give it the inputs — H-codes, P-codes, container size and target languages — and it resolves a draft, compliant hazard label: the correct GHS pictograms, CLP Article 26 signal-word precedence, Annex I sizing, the signal word, standardised statement text in 25+ EU languages, and the Annex VIII UFI when you need one.

⚠️ Read this first: the output is a draft

LabelInn applies the CLP rules it knows to the data you enter and produces a draft hazard label. It is not a substitute for your legal or regulatory sign-off. The classification, the chosen statements, the translations and the final artwork must be reviewed and approved by your organisation's competent person before any label is printed and placed on the market. We are deliberately honest about this — the tool accelerates the work; it does not replace the responsible expert.

🧪 From hazard data to draft label. H-codes + P-codes + container size + languages → a CLP-structured hazard label for your competent person to verify. Start free →

From Hazard Data to a Drafted Label

Instead of dragging boxes around a canvas, you describe the chemical's hazard profile and let the engine assemble it. Here is what each input drives:

H-codes (hazard statements) — drive which GHS hazard pictograms are shown and which standardised hazard text appears, in every selected language.

P-codes (precautionary statements) — pull in the standardised prevention, response, storage and disposal text. You choose the set; the engine lays out the wording.

Container / package size — maps to the CLP Annex I minimum label and pictogram dimensions for that capacity band.

Target languages — render the H- and P-statement text in 25+ EU / EEA languages for products sold across multiple markets.

What the Engine Resolves For You

Step What LabelInn does What stays with you
GHS pictograms Places the correct red-bordered diamond pictograms triggered by your H-codes Confirm the classification that produced those H-codes
Signal word Applies CLP Article 26 precedence — when "Danger" applies, "Warning" is suppressed Verify the underlying hazard classification
Label & pictogram size Sizes to the Annex I minimum for the container capacity Confirm dimensions against the current regulation
Hazard & precautionary text Inserts standardised H/P statement text in 25+ EU languages Approve translations & any supplier-specific wording
UFI (Annex VIII) Generates the Unique Formula Identifier and places it on the label File the poison-centre notification; verify inputs
Supplier block & layout Assembles the label artwork ready to print on your label printer Final review & sign-off by a competent person

CLP Article 26: One Signal Word, Not Two

A common manual mistake is printing both "Danger" and "Warning". CLP Article 26 is explicit: where the signal word "Danger" applies on the label, the signal word "Warning" is not included. When you supply the hazard classification, LabelInn resolves a single signal word using that precedence rule instead of stacking both. As with everything here, your competent person verifies the classification and the resulting signal word before use.

Annex I Sizing, Tied to Your Container

CLP Annex I sets minimum label dimensions and minimum pictogram dimensions by package capacity. Enter the container size and LabelInn maps it to the right band, so the hazard pictograms and label area meet the regulatory minimum for that package. You can scale up beyond the minimum for readability — and you should always confirm the final dimensions against the current regulation.

25+ EU Languages, Standardised Statements

If you sell across the EU/EEA, the same product often needs hazard text in several languages on one label. LabelInn carries the standardised H-statement and P-statement wording in 25+ EU / EEA languages, so you can lay out a clean multi-language hazard panel from a single set of H- and P-codes. Supplier-specific and custom text still needs human translation and review.

Annex VIII UFI for Poison-Centre Notification

CLP Annex VIII requires a Unique Formula Identifier (UFI) on hazardous mixtures destined for the EU market. LabelInn computes the UFI from your company/VAT number and formulation number to the published algorithm and places it on the label. The generation is automatic; the poison-centre notification itself, and verifying the inputs, remain your responsibility.

Built In, Not a Separate Upsell

The GHS/CLP engine is part of the LabelInn platform — the same one you use for shipping, product and inventory labels. That means a chemical hazard label drafted here prints through the same native printer-language path as the rest of your labels:

Native printer languages — ZPL (Zebra), TSPL/TSPL2 (TSC), Toshiba TPCL, and Epson ESC/Label for colour (e.g. ColorWorks) — generated through one command facade.

Driverless or our self-installing Windows v4 driver — your choice. Raw USB, TCP/IP 9100, and Bluetooth, with bidirectional status readback (cover / paper / head / ribbon).

Browser-based label designer in the web dashboard to fine-tune the drafted layout before printing.

Cross-platform — Windows, macOS, Linux, iOS, Android and Web.

The GHS API: Draft Hazard Labels Programmatically

If you maintain product or SDS data in your own systems, you don't need to touch the UI. LabelInn exposes the GHS engine over its REST API, so an SDS-authoring tool, an ERP, or an AI agent can request a drafted hazard label directly.

Render a GHS labelPOST /v1/labels/preview with a ghs_row payload (the payload_type for chemical-hazard rows): H-codes, P-codes, container size and languages in, a drafted hazard label out.

Generate a UFIPOST /v1/ufi/generate returns the Annex VIII Unique Formula Identifier for your company and formulation numbers.

Print it — send the result to the canonical POST /v1/print/jobs with idempotency keys, batch and webhooks. See the developer docs →

Authenticated & auditable — scoped API keys (sk_live_ / sk_test_) plus an immutable, hash-chained print history for traceability.

🔌 GHS over the API. ghs_row/v1/labels/preview, /v1/ufi/generate, then /v1/print/jobs. SDKs + OpenAPI available. Explore the developer platform →

Compliance & Traceability Around the Label

For regulated chemical work, the label is only half the story — you also need to prove what was printed. LabelInn pairs the GHS engine with:

Immutable print history — database-rule enforced, SHA-256 hash-chained and per-company HMAC-signed, self-verifying.

E-signature approval requiring fresh re-authentication (FDA 21 CFR Part 11 / EU Annex 11 style) — a natural fit for a competent-person sign-off step.

Per-element saved-vs-printed capture and label-provenance reconstruction, so you can show exactly what hit the printer.

Role-based access (owner / admin / editor / operator / viewer) so only the right people approve hazard labels.

Frequently Asked Questions

What is GHS / CLP label software?

It turns a chemical's hazard data — H-codes, P-codes, signal word and pictograms — into a printable hazard label. LabelInn takes your H-codes, P-codes, container size and target languages and drafts a CLP-structured label with the correct pictograms, Article 26 signal-word precedence, Annex I sizing and 25+ EU languages. The output is a draft for your competent person to verify.

Does LabelInn apply CLP Article 26 signal-word precedence?

Yes. Where "Danger" applies, "Warning" is suppressed. The engine resolves a single signal word from the classification you supply, rather than printing both — and your competent person confirms it.

How does it size the label and pictograms?

You enter the container size; LabelInn maps it to the CLP Annex I minimum label and pictogram dimensions for that capacity band. You can scale up beyond the minimum, and you should confirm the final dimensions against the current regulation.

Can it generate the Annex VIII UFI?

Yes — via /v1/ufi/generate, from your company/VAT number and formulation number, computed to the published algorithm and placed on the label. The poison-centre notification itself remains your responsibility.

Is the output legally compliant out of the box?

No software can be your legal sign-off. LabelInn produces a draft from the data you provide and applies the CLP rules it knows. The classification, statements, translations and final artwork must be approved by a competent person before printing.

Draft a Compliant Hazard Label From Your Data

✓ Pictograms + Article 26 signal word ✓ Annex I sizing + Annex VIII UFI ✓ 25+ EU languages

H-codes, P-codes, container size and languages in — a CLP-structured hazard label out, ready for your competent person to verify. Full GHS engine, API and audit trail on the Pro plan.

Get Started Free →