React & Vue 3
Named components and a PictogramById helper for dynamic rendering. Tree-shakeable — only the
pictograms you import end up in your bundle.
The Globally Harmonized System of Classification and Labelling of Chemicals (GHS) defines hazard pictograms used on chemical containers, safety data sheets (SDS), and product labels worldwide. This library packages all GHS hazard symbols plus ADR/UN transport danger labels as accessible, fully typed components.
React & Vue 3
Named components and a PictogramById helper for dynamic rendering. Tree-shakeable — only the
pictograms you import end up in your bundle.
Web Components
Framework-agnostic Custom Elements. Works with Angular, Svelte, plain HTML — anywhere.
CSS Sprite
Zero JavaScript option. Display any pictogram with a single class and no JS runtime.
Accessible by default
Every component renders with role="img", aria-labelledby, <title>, and <desc> inside
the SVG.
| Package | Version | Description |
|---|---|---|
@ghs-hazard-pictograms/react | React components (inline SVG) | |
@ghs-hazard-pictograms/vue | Vue 3 components (inline SVG) | |
@ghs-hazard-pictograms/elements | Web Components (Custom Elements) | |
@ghs-hazard-pictograms/css | CSS background-image sprite | |
@ghs-hazard-pictograms/sprite | SVG symbol sprite | |
@ghs-hazard-pictograms/assets | Static SVG/PNG/JPG/WebP files | |
@ghs-hazard-pictograms/core | TypeScript data and lookup API |
| Category | Pictograms | Description |
|---|---|---|
| Physical hazards | 5 | GHS01–GHS06: explosive, flammable, oxidising, compressed gas, corrosive |
| Health hazards | 3 | GHS07–GHS09: acute toxicity, health hazard, skull and crossbones |
| Environmental hazards | 1 | GHS09: environmental hazard |
| Transport (ADR/UN) | 15 | Dangerous goods labels for road, rail, sea, and air transport |